static void DeallocateFactBloadData( void *theEnv) { size_t space; int i; for (i = 0; i < FactBinaryData(theEnv)->NumberOfPatterns; i++) { DestroyAlphaMemory(theEnv,&FactBinaryData(theEnv)->FactPatternArray[i].header,FALSE); } space = FactBinaryData(theEnv)->NumberOfPatterns * sizeof(struct factPatternNode); if (space != 0) genfree(theEnv,(void *) FactBinaryData(theEnv)->FactPatternArray,space); }
static void DeallocateObjectReteBinaryData( void *theEnv) { #if (BLOAD || BLOAD_ONLY || BLOAD_AND_BSAVE) && (! RUN_TIME) size_t space; long i; for (i = 0; i < ObjectReteBinaryData(theEnv)->AlphaNodeCount; i++) { DestroyAlphaMemory(theEnv,&ObjectReteBinaryData(theEnv)->AlphaArray[i].header,false); } space = ObjectReteBinaryData(theEnv)->AlphaNodeCount * sizeof(struct objectAlphaNode); if (space != 0) genfree(theEnv,(void *) ObjectReteBinaryData(theEnv)->AlphaArray,space); space = ObjectReteBinaryData(theEnv)->PatternNodeCount * sizeof(struct objectPatternNode); if (space != 0) genfree(theEnv,(void *) ObjectReteBinaryData(theEnv)->PatternArray,space); #endif }
static void DestroyObjectAlphaNodes( void *theEnv, OBJECT_ALPHA_NODE *theNode) { OBJECT_ALPHA_NODE *nodePtr; if (theNode == NULL) return; while (theNode != NULL) { nodePtr = theNode->nxtInGroup; DestroyAlphaMemory(theEnv,&theNode->header,FALSE); #if ! RUN_TIME rtn_struct(theEnv,objectAlphaNode,theNode); #endif theNode = nodePtr; } }