/*Copyright (C) 1992, 1995 by Thomas Glen Smith. All Rights Reserved.*/ /* apledix APL2 V1.0.0 ************************************************* * Called by aplediv to allocate a new apled element. * ***********************************************************************/ #define INCLUDES APLCB+APLED+APLFUNCI+APLMEM+APLTOKEN #include "includes.h" Apled apledix(e,olded,tokhdr,tokcnt,stmtno,flag) Apledst e; /* Edit common area. */ Apled olded; /* Previous tail of list. */ Apltoken tokhdr; /* Ptr to block of tokens for stmt. */ int tokcnt; /* Count of tokens in this statement. */ double stmtno; /* Current statement number. */ int flag; /* 1 = yes, free of tokhdr tokens when apled is freed. */ { Enqueue; Apled newed; if (NULL == (newed = malloc(sizeof(struct apled)))) return(NULL); /* out of memory - aplerr already set */ newed->apledst = stmtno; newed->apledtm = flag; newed->apledcn = tokcnt; newed->apledhd = tokhdr; newed->apledch = NULL; enqueue(e,olded,newed); /* add to list */ return(newed); }