Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c3cf1a82 authored by Eric Laurent's avatar Eric Laurent
Browse files

Config utils improvement

Added a function to free resources allocated by config node tree.

Change-Id: I2ee8ae642899ec4501fa6e490c5be7efaa2d738e
parent 7956d759
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -54,6 +54,9 @@ const char* config_str(cnode *root, const char *name, const char *_default);
/* add a named child to a config node (or modify it if it already exists) */
void config_set(cnode *root, const char *name, const char *value);

/* free a config node tree */
void config_free(cnode *root);

#ifdef __cplusplus
}
#endif
+12 −0
Original line number Diff line number Diff line
@@ -315,3 +315,15 @@ void config_load_file(cnode *root, const char *fn)
    data = load_file(fn, 0);
    config_load(root, data);
}

void config_free(cnode *root)
{
    cnode *cur = root->first_child;

    while (cur) {
        cnode *prev = cur;
        config_free(cur);
        cur = cur->next;
        free(prev);
    }
}