Metropoli BBS
VIEWER: errstop.c MODE: TEXT (ASCII)
/*Copyright (C) 1992, 1994 by Thomas Glen Smith.  All Rights Reserved.*/
/* errstop APL2 V1.0.0 *************************************************
* Checks for error conditions, and frees storage for temporary APL     *
* variables.  Normally called by CAPLIB routines at end of processing. *
***********************************************************************/
#define INCLUDES APLCB+APLDEBUG+ERRNO
#include "includes.h"
Aplcb errstop(rc,left,rite,out)
int rc;
Aplcb left,rite,out;
{
	extern int aplerr;

#if APL_DEBUG
void mem_check(void);
mem_check();
#endif
	if (left != NULL) endoper(left);
	if (rite != NULL && rite != left) endoper(rite);
	if (0 != aplerr + rc || errno > 1) {
		if (aplerr==0) aplerr=rc;
		if (aplerr==0) aplerr=20;
		if (out != NULL) endoper(out);
		return(NULL);
	}
	return(out); /* no errors */
}
[ RETURN TO DIRECTORY ]