summaryrefslogtreecommitdiff
path: root/src/trg-files-tree.c
diff options
context:
space:
mode:
authorGravatar Alan Fitton <ajf@eth0.org.uk>2013-02-20 19:17:08 +0000
committerGravatar Alan Fitton <ajf@eth0.org.uk>2013-02-20 19:17:08 +0000
commit6feb984156f7e504a00ad8edfef84993ad1b3e74 (patch)
treea66d80c8e0f77def2b7e7d4002c090ef81866c48 /src/trg-files-tree.c
parent2ebc0a5cd92b753271316e0e00a5fddc51d0cbf0 (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.c14
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);