Metropoli BBS
VIEWER: expunge.c MODE: TEXT (ASCII)
/*Copyright (C) 1992, 1995 by Thomas Glen Smith.  All Rights Reserved.*/
/* expunge APL2 V1.0.0 *************************************************
* Called from endoper to free memory for an aplfunc structure.         *
***********************************************************************/
#define INCLUDES APLCB+APLFUNCI+APLMEM+APLTOKEN
#include "includes.h"
void *expunge(fp)
struct aplfunc *fp;
{
	Endoper; Execfree; Expungf;
	Apltoken tok;
	Aplcb cb;
	int i;

	if (fp == NULL) return(NULL); /* nothing to free */
	if (NULL != (fp->functext)) {
		fp->functext->aplflags |= APLTEMP; /* mark temporary */
		endoper(fp->functext); /* go free aplcb */
	}
	free(fp->functokp);
	free(fp->functokc);
	expungf(fp->functary, fp->functotl); /* free tokens */
	free(fp); /* free aplfunc structure */
	return(NULL);
}
[ RETURN TO DIRECTORY ]