diff options
Diffstat (limited to 'nodelink.c')
-rw-r--r-- | nodelink.c | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -11,16 +11,22 @@ node* newnode(void) { return new; } +static char* empty(void) { + char* out = malloc(sizeof(char)); + *out = 0; + return out; +} + link* newlink(node* to) { link* new = malloc(sizeof(link)); - new->desc = ""; // preferred to NULL because it can be printed + new->desc = empty(); // preferred to NULL because it can be printed new->to = to; return new; } static void printlink(char* name, link* conn) { if (conn->desc[0]) - printf("%s: %s\n", name, conn->desc); + printf("%s: %s", name, conn->desc); else printf("%s\n", name); } @@ -31,7 +37,7 @@ static void printeach(strbstnode* loc, char reprint) { 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,"root")) { + if (reprint && strcmp(loc->ind,"")) { // prints the link's target's link tree printeach( ( (link*)loc->data)->to->links->head, 0); } |