Metropoli BBS
VIEWER: execqex.c MODE: TEXT (ASCII)
/*Copyright (C) 1992, 1995 by Thomas Glen Smith.  All Rights Reserved.*/
/* execqex APL2 V1.0.0 *************************************************
* System function quad_ex, expunge.                                    *
***********************************************************************/
#define INCLUDES APLCB+TREE
#include "includes.h"
Aplcb execqex(rite)
Aplcb rite;
{
	Execqncs;
	int execqext();

	return(execqncs(execqext,rite));
}

/* execqext is called by aplerase. */
int execqext(nameok,p) /* Also used by aplerase. */
int nameok; /* nonzero if current name is well formed */
struct avlnode *p; /* node for current name */
{
	Leafdel;
	int k;
	Aplcb wrk;

	if (!nameok)
		k = 0; /* invalid name */
	else {
		k = 1; /* default = name available for use */
		if (NULL != p && NULL != (wrk = p->avlleaf))
			if (wrk->aplflags & APLLABEL) k = 0; /* label */
			else { /* must be variable or function */
				leafdel(p->avlleaf); /* free function or var */
				p->avlleaf = NULL; /* indicate name available */
			}
	}
	return(k);
}
[ RETURN TO DIRECTORY ]