diff options
Diffstat (limited to 'src/trg-file-parser.c')
-rw-r--r-- | src/trg-file-parser.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/trg-file-parser.c b/src/trg-file-parser.c index da34a5a..60dfe1f 100644 --- a/src/trg-file-parser.c +++ b/src/trg-file-parser.c @@ -80,12 +80,18 @@ static trg_files_tree_node top->children = g_list_append(top->children, target_node); } - lastIter = target_node; - if (isFile) { - target_node->length = (gint64) file_length_node->val.i; target_node->index = index; + target_node->length = (gint64) file_length_node->val.i; + + while (lastIter) + { + lastIter->length = target_node->length; + lastIter = lastIter->parent; + } } + + lastIter = target_node; } g_list_free(parentList); |