mirror of
https://github.com/systemd/systemd
synced 2024-10-01 13:55:20 +00:00
strbuf: several cleanups
- use FOREACH_ARRAY(), - add one missing assertion, - reduce indentation.
This commit is contained in:
parent
7b12b86450
commit
c616e30e9c
|
@ -48,20 +48,21 @@ struct strbuf* strbuf_new(void) {
|
|||
}
|
||||
|
||||
static struct strbuf_node* strbuf_node_cleanup(struct strbuf_node *node) {
|
||||
size_t i;
|
||||
assert(node);
|
||||
|
||||
FOREACH_ARRAY(child, node->children, node->children_count)
|
||||
strbuf_node_cleanup(child->child);
|
||||
|
||||
for (i = 0; i < node->children_count; i++)
|
||||
strbuf_node_cleanup(node->children[i].child);
|
||||
free(node->children);
|
||||
return mfree(node);
|
||||
}
|
||||
|
||||
/* clean up trie data, leave only the string buffer */
|
||||
void strbuf_complete(struct strbuf *str) {
|
||||
if (!str)
|
||||
if (!str || !str->root)
|
||||
return;
|
||||
if (str->root)
|
||||
str->root = strbuf_node_cleanup(str->root);
|
||||
|
||||
str->root = strbuf_node_cleanup(str->root);
|
||||
}
|
||||
|
||||
/* clean up everything */
|
||||
|
|
Loading…
Reference in a new issue