Ejemplo n.º 1
0
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);
  }
Ejemplo n.º 2
0
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
  }
Ejemplo n.º 3
0
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;
    }
}