1
0
mirror of https://github.com/systemd/systemd synced 2024-07-01 07:34:28 +00:00

strbuf: several cleanups

- use FOREACH_ARRAY(),
- add one missing assertion,
- reduce indentation.
This commit is contained in:
Yu Watanabe 2024-06-13 00:20:26 +09:00
parent 7b12b86450
commit c616e30e9c

View File

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