diff options
author | Alan Fitton <ajf@eth0.org.uk> | 2013-02-20 19:17:08 +0000 |
---|---|---|
committer | Alan Fitton <ajf@eth0.org.uk> | 2013-02-20 19:17:08 +0000 |
commit | 6feb984156f7e504a00ad8edfef84993ad1b3e74 (patch) | |
tree | a66d80c8e0f77def2b7e7d4002c090ef81866c48 /src/trg-files-tree.c | |
parent | 2ebc0a5cd92b753271316e0e00a5fddc51d0cbf0 (diff) |
update year in copyright headers, fix the jumbled file lists (caused by unsorted files)
Diffstat (limited to 'src/trg-files-tree.c')
-rw-r--r-- | src/trg-files-tree.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/trg-files-tree.c b/src/trg-files-tree.c index cadef12..b3a3df9 100644 --- a/src/trg-files-tree.c +++ b/src/trg-files-tree.c @@ -27,11 +27,25 @@ #include "trg-files-tree.h" +void trg_files_tree_node_add_child(trg_files_tree_node* node, trg_files_tree_node* child) +{ + if (!node->childrenHash) { + node->childrenHash = g_hash_table_new(g_str_hash, g_str_equal); + } + g_hash_table_insert(node->childrenHash, child->name, child); + node->children = g_list_append(node->children, child); +} + void trg_files_tree_node_free(trg_files_tree_node * node) { GList *li; + for (li = node->children; li; li = g_list_next(li)) trg_files_tree_node_free((trg_files_tree_node *) li->data); + + if (node->childrenHash) + g_hash_table_destroy(node->childrenHash); + g_list_free(node->children); g_free(node->name); g_free(node); |