dtree

Програм из командне линије за исцртавање стабала
git clone https://git.sr.ht/~strahinja/dtree
Дневник | Датотеке | Референце | ПРОЧИТАЈМЕ | ЛИЦЕНЦА

чување 0cf2078d007de3d470c7d2e74944d1d166dc885d
родитељ 3dec79c498196ee05fb9b4db764fd543fc80f2a2
Аутор: Страхиња Радић <contact@strahinja.org>
Датум:   Sun, 17 Sep 2023 23:07:12 +0200

ftree.c: Remove print_tabs; change NODE_ALLOC_DELTA to 10; free root in
cleanup; more explicit initialization in alloc_node

Signed-off-by: Страхиња Радић <contact@strahinja.org>

Diffstat:
Mftree.c | 19+++++++------------
измењених датотека: 1, додавања: 7(+), брисања: 12(-)

diff --git a/ftree.c b/ftree.c @@ -16,7 +16,7 @@ #include "version.h" #define BUFSIZE 4096 -#define NODE_ALLOC_DELTA 100 +#define NODE_ALLOC_DELTA 10 struct Node { int level; @@ -40,7 +40,6 @@ void free_node(struct Node** root); void insert_node(struct Node** root, const int level, const char* label); void print_indent(void); void print_node(const struct Node* node); -void print_tabs(const int level); void set_node(struct Node* node, const int level, const char* label); int string_to_symbol_set(const char* s); void usage(void); @@ -81,8 +80,11 @@ alloc_node(void) exit(error(1, "Cannot alloc node")); } - newnode->children_count = 0; + newnode->level = 0; + newnode->label = NULL; newnode->parent = NULL; + newnode->children_count = 0; + newnode->last_child = NULL; newnode->next = NULL; return newnode; @@ -92,6 +94,7 @@ void cleanup(void) { free_node(&root); + free(root); free(indent); } @@ -237,13 +240,6 @@ print_node(const struct Node* node) } void -print_tabs(const int level) -{ - for (int i = 0; i < level; i++) - printf(" "); -} - -void set_node(struct Node* node, const int level, const char* label) { if (!node->label) @@ -319,8 +315,7 @@ main(int argc, char** argv) usage(); exit(0); case 's': - if ((symbol_set = string_to_symbol_set(optarg)) - == -1) + if ((symbol_set = string_to_symbol_set(optarg)) == -1) exit(error(1, "Invalid symbol set: '%s'", optarg)); break;