Config utils improvement
Added a function to free resources allocated by config node tree. Change-Id: I2ee8ae642899ec4501fa6e490c5be7efaa2d738e
This commit is contained in:
parent
7956d759be
commit
c3cf1a8278
2 changed files with 15 additions and 0 deletions
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue