/*Copyright (C) 1992, 1994 by Thomas Glen Smith. All Rights Reserved.*/ /* treeroot APL2 V1.0.0 ************************************************ * Called by aplinit, apllov1, compute, and funcmain to add a new root * * to the tree. * ***********************************************************************/ #define INCLUDES APLFUNCI+APLMEM+APLTOKEN+STRING+TREE #include "includes.h" Treelist treeroot(fp) Aplfunc fp; /* Function definition structure. */ { extern int aplerr; extern Treelist treehdr; Treelist new,treesave; treesave = treehdr; new = malloc(sizeof(struct treelist)); /* new root */ if (new != NULL) { new->avlhdr = NULL; new->treenext = treehdr; treehdr = new; new->avlfun = fp; new->avlstmt = 0; if (fp == NULL) new->avlfname = NULL; else { new->avlfname = malloc(strlen( fp->funcname->token_ptr.token_string)+1); if (new->avlfname != NULL) strcpy(new->avlfname, fp->funcname->token_ptr.token_string); } new->indxsave = 0; new->indxhold = 0; new->fuzzsave = 0; new->fuzzhold = 0e0; new->avlexec = NULL; new->avltokhd = NULL; new->lastfun = 0; new->avloff = 0; new->treeflag = 0; } return(new); }