static void DeallocateConstructData( void *theEnv) { struct construct *tmpPtr, *nextPtr; #if (! RUN_TIME) && (! BLOAD_ONLY) DeallocateCallList(theEnv,ConstructData(theEnv)->ListOfSaveFunctions); #endif DeallocateCallList(theEnv,ConstructData(theEnv)->ListOfResetFunctions); DeallocateCallList(theEnv,ConstructData(theEnv)->ListOfClearFunctions); DeallocateCallList(theEnv,ConstructData(theEnv)->ListOfClearReadyFunctions); #if (! RUN_TIME) && (! BLOAD_ONLY) if (ConstructData(theEnv)->ErrorString != NULL) { genfree(theEnv,ConstructData(theEnv)->ErrorString,sizeof(ConstructData(theEnv)->ErrorString) + 1); } if (ConstructData(theEnv)->WarningString != NULL) { genfree(theEnv,ConstructData(theEnv)->WarningString,sizeof(ConstructData(theEnv)->WarningString) + 1); } ConstructData(theEnv)->ErrorString = NULL; ConstructData(theEnv)->WarningString = NULL; EnvSetParsingFileName(theEnv,NULL); EnvSetWarningFileName(theEnv,NULL); EnvSetErrorFileName(theEnv,NULL); #endif tmpPtr = ConstructData(theEnv)->ListOfConstructs; while (tmpPtr != NULL) { nextPtr = tmpPtr->next; rtn_struct(theEnv,construct,tmpPtr); tmpPtr = nextPtr; } }
globle void PrintErrorID( void *theEnv, const char *module, int errorID, int printCR) { #if (! RUN_TIME) && (! BLOAD_ONLY) FlushParsingMessages(theEnv); EnvSetErrorFileName(theEnv,EnvGetParsingFileName(theEnv)); ConstructData(theEnv)->ErrLineNumber = GetLineCount(theEnv); #endif if (printCR) EnvPrintRouter(theEnv,WERROR,"\n"); EnvPrintRouter(theEnv,WERROR,"["); EnvPrintRouter(theEnv,WERROR,module); PrintLongInteger(theEnv,WERROR,(long int) errorID); EnvPrintRouter(theEnv,WERROR,"] "); }