summaryrefslogtreecommitdiff
path: root/tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'tree.c')
-rw-r--r--tree.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/tree.c b/tree.c
index e5fc435..b53ece2 100644
--- a/tree.c
+++ b/tree.c
@@ -41,20 +41,24 @@ node * parse(char *str) { //expects a string with no whitespace
return this;
}
-void printTree(node *root, int level) {
+void fprintTree(FILE *stream, node *root, int level) {
if (root == NULL)
return;
if (level) {
for (int i = 1; i < level; i++) {
- printf("│ ");
+ fprintf(stream, "│ ");
}
- printf("├─ ");
+ fprintf(stream, "├─ ");
}
- printf("%c\n", root->el);
+ fprintf(stream, "%c\n", root->el);
for (int i = 0; i < 2; i++) {
if (root->child[i] != NULL) {
- printTree(root->child[i], level + 1);
+ fprintTree(stream, root->child[i], level + 1);
}
}
}
+
+void printTree(node *root, int level) {
+ fprintTree(stdout, root, level);
+}