Config utils improvement

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

Change-Id: I2ee8ae642899ec4501fa6e490c5be7efaa2d738e
This commit is contained in:
Eric Laurent 2011-05-26 13:57:03 -07:00
parent 7956d759be
commit c3cf1a8278
2 changed files with 15 additions and 0 deletions

View file

@ -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

View file

@ -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);
}
}