diff options
author | Holden Rohrer <hr@hrhr.dev> | 2020-06-14 20:53:17 -0400 |
---|---|---|
committer | Holden Rohrer <hr@hrhr.dev> | 2020-06-14 20:53:54 -0400 |
commit | 3ef0e73864d21e2cb96c1c03b09324a665de070e (patch) | |
tree | bc3db42a292e6735e5519176ce5fecab16c89b82 /main.c | |
parent | fd74d59f307bfb50c58e710b96f8b576467cf5de (diff) |
moved print statement to main.c
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 27 |
1 files changed, 27 insertions, 0 deletions
@@ -1,6 +1,33 @@ #include <stdio.h> +#include <string.h> #include "read.h" +#include "nodelink.h" + +static void printlink(char* name, link* conn) { + if (conn->desc[0]) + printf("%s: %s", name, conn->desc); + else + printf("%s\n", name); +} + +static void printeach(strbstnode* loc, char reprint) { + if (loc == NULL) return; + // loc->ind is the name of the connection and loc->data the link + if (!reprint) printf(" "); // indent on subnode + printlink(loc->ind, loc->data); // prints it + // and subnodes if iterating over root tree (except root link) + if (reprint && strcmp(loc->ind,"")) { + // prints the link's target's link tree + printeach( ( (link*)loc->data)->to->links->head, 0); + } + printeach(loc->left, reprint); + printeach(loc->right, reprint); // recursion +} + +void printnode(node* root) { + printeach(root->links->head, 1); +} int main() { node* root = readfile("template"); |