/*Copyright (C) 1992, 1995 by Thomas Glen Smith. All Rights Reserved.*/ /* funcmsg APL2 V1.0.0 ************************************************* * Called by funcexef whenever an error occurs during function execution* * to print error messages. * ***********************************************************************/ #define INCLUDES APLCB+APLFUNCI+APLTOKEN+STDIO #include "includes.h" void funcmsg(fp,offset,stmtno) struct aplfunc *fp; /* Function definition structure. */ int offset; /* Offset in statement where error occurred. */ int stmtno; /* Statement number in error. */ { Aplnewl; Execmsg; int stmtlen; Aplcb cb; stmtlen = *(fp->functext->apldim + 1); cb = fp->functext; /* Pointer to char representation aplcb. */ if (cb->aplflags & APLAPL) { cb = *(cb->aplptr.aplapl+stmtno); /* aplcb for stmt in err. */ execmsg(cb->aplptr.aplchar,cb->aplcount,offset,NULL); } else execmsg(cb->aplptr.aplchar + stmtno * stmtlen, stmtlen,offset,NULL); printf("The error occurred in function %s", fp->funcname->token_ptr.token_string); aplnewl(); /* Start a new output line. */ }