diff options
Diffstat (limited to 'misc.c')
-rw-r--r-- | misc.c | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -5,6 +5,20 @@ #include "fns.h" Term * +copyterm(Term *orig) +{ + Term *new = malloc(sizeof(Term)); + memcpy(new, orig, sizeof(Term)); + new->next = nil; + new->children = nil; + + Term *child; + for(child = orig->children; child != nil; child = child->next) + new->children = appendterm(new->children, copyterm(child)); + return new; +} + +Term * appendterm(Term *a, Term *b) { if(a == nil) |