static struct uci_context *cursor;
static struct uloop_timeout apply_timer;
static struct ubus_context *apply_ctx;
-static char apply_sid[RPC_SID_LEN + 1];
+
+char apply_sid[RPC_SID_LEN + 1];
enum {
RPC_G_CONFIG,
static void
rpc_uci_set_savedir(struct blob_attr *sid)
{
+ struct uci_element *e, *tmp;
char path[PATH_MAX];
+ uci_foreach_element_safe(&cursor->delta_path, tmp, e)
+ free(e);
+
+ cursor->delta_path.prev = &cursor->delta_path;
+ cursor->delta_path.next = &cursor->delta_path;
+
if (!sid)
{
uci_set_savedir(cursor, "/tmp/.uci");