/*Copyright (C) 1992, 1995 by Thomas Glen Smith. All Rights Reserved.*/
/* expungf APL2 V1.0.0 *************************************************
* Called from expunge and others to free storage for an array of *
* tokens. *
***********************************************************************/
#define INCLUDES APLCB+APLCHDEF+APLMEM+APLTOKEN
#include "includes.h"
void *expungf(tokary,tokcnt)
Apltoken tokary; /* array of tokens */
int tokcnt; /* count of tokens in array */
{
Endoper;
Apltoken tok;
Aplcb cb;
tok = tokary; /* point to first token */
while (tokcnt--) {
switch (tok->token_code) {
case QUOTE:
case VECTOR_TOKEN:
if (NULL != (cb = tok->token_ptr.token_vector)) {
cb->aplflags |= APLTEMP;
endoper(cb);
}
break;
case OPERAND_TOKEN:
free(tok->token_ptr.token_string);
break;
} /* end switch */
tok++;
}
free(tokary); /* free all token memory */
}