亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? moduldef.c

?? clips源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
  }/******************************************************//* CreateMainModule: Creates the default MAIN module. *//******************************************************/globle void CreateMainModule(  void *theEnv)  {   struct defmodule *newDefmodule;   struct moduleItem *theItem;   int i;   struct defmoduleItemHeader *theHeader;   /*=======================================*/   /* Allocate the defmodule data structure */   /* and name it the MAIN module.          */   /*=======================================*/   newDefmodule = get_struct(theEnv,defmodule);   newDefmodule->name = (SYMBOL_HN *) EnvAddSymbol(theEnv,"MAIN");   IncrementSymbolCount(newDefmodule->name);   newDefmodule->next = NULL;   newDefmodule->ppForm = NULL;   newDefmodule->importList = NULL;   newDefmodule->exportList = NULL;   newDefmodule->bsaveID = 0L;   newDefmodule->usrData = NULL;   /*==================================*/   /* Initialize the array for storing */   /* the module's construct lists.    */   /*==================================*/   if (DefmoduleData(theEnv)->NumberOfModuleItems == 0) newDefmodule->itemsArray = NULL;   else     {      newDefmodule->itemsArray = (struct defmoduleItemHeader **)                                 gm2(theEnv,sizeof(void *) * DefmoduleData(theEnv)->NumberOfModuleItems);      for (i = 0, theItem = DefmoduleData(theEnv)->ListOfModuleItems;           (i < DefmoduleData(theEnv)->NumberOfModuleItems) && (theItem != NULL);           i++, theItem = theItem->next)        {         if (theItem->allocateFunction == NULL)           { newDefmodule->itemsArray[i] = NULL; }         else           {            newDefmodule->itemsArray[i] = (struct defmoduleItemHeader *)                                          (*theItem->allocateFunction)(theEnv);            theHeader = (struct defmoduleItemHeader *) newDefmodule->itemsArray[i];            theHeader->theModule = newDefmodule;            theHeader->firstItem = NULL;            theHeader->lastItem = NULL;           }        }     }   /*=======================================*/   /* Add the module to the list of modules */   /* and make it the current module.       */   /*=======================================*/#if (! BLOAD_ONLY) && (! RUN_TIME) && DEFMODULE_CONSTRUCT   SetNumberOfDefmodules(theEnv,1L);#endif   DefmoduleData(theEnv)->LastDefmodule = newDefmodule;   DefmoduleData(theEnv)->ListOfDefmodules = newDefmodule;   EnvSetCurrentModule(theEnv,(void *) newDefmodule);  }/*********************************************************************//* SetListOfDefmodules: Sets the list of defmodules to the specified *//*   value. Normally used when initializing a run-time module or     *//*   when bloading a binary file to install the list of defmodules.  *//*********************************************************************/globle void SetListOfDefmodules(  void *theEnv,  void *defmodulePtr)  {   DefmoduleData(theEnv)->ListOfDefmodules = (struct defmodule *) defmodulePtr;   DefmoduleData(theEnv)->LastDefmodule = DefmoduleData(theEnv)->ListOfDefmodules;   if (DefmoduleData(theEnv)->LastDefmodule == NULL) return;   while (DefmoduleData(theEnv)->LastDefmodule->next != NULL) DefmoduleData(theEnv)->LastDefmodule = DefmoduleData(theEnv)->LastDefmodule->next;  }/********************************************************************//* EnvGetNextDefmodule: If passed a NULL pointer, returns the first *//*   defmodule in the ListOfDefmodules. Otherwise returns the next  *//*   defmodule following the defmodule passed as an argument.       *//********************************************************************/globle void *EnvGetNextDefmodule(  void *theEnv,  void *defmodulePtr)  {   if (defmodulePtr == NULL)     { return((void *) DefmoduleData(theEnv)->ListOfDefmodules); }   else     { return((void *) (((struct defmodule *) defmodulePtr)->next)); }  }/*****************************************//* EnvGetDefmoduleName: Returns the name *//*   of the specified defmodule.         *//*****************************************/#if IBM_TBC#pragma argsused#endifgloble char *EnvGetDefmoduleName(  void *theEnv,  void *defmodulePtr)  { #if MAC_MCW || IBM_MCW || MAC_XCD#pragma unused(theEnv)#endif   return(ValueToString(((struct defmodule *) defmodulePtr)->name));   }/***************************************************//* EnvGetDefmodulePPForm: Returns the pretty print *//*   representation of the specified defmodule.    *//***************************************************/#if IBM_TBC#pragma argsused#endifgloble char *EnvGetDefmodulePPForm(  void *theEnv,  void *defmodulePtr)  { #if MAC_MCW || IBM_MCW || MAC_XCD#pragma unused(theEnv)#endif   return(((struct defmodule *) defmodulePtr)->ppForm);   }#if (! RUN_TIME)/***********************************************//* RemoveAllDefmodules: Removes all defmodules *//*   from the current environment.             *//***********************************************/globle void RemoveAllDefmodules(  void *theEnv)  {   struct defmodule *nextDefmodule;   while (DefmoduleData(theEnv)->ListOfDefmodules != NULL)     {      nextDefmodule = DefmoduleData(theEnv)->ListOfDefmodules->next;      ReturnDefmodule(theEnv,DefmoduleData(theEnv)->ListOfDefmodules,FALSE);      DefmoduleData(theEnv)->ListOfDefmodules = nextDefmodule;     }   DefmoduleData(theEnv)->CurrentModule = NULL;   DefmoduleData(theEnv)->LastDefmodule = NULL;  }/************************************************************//* ReturnDefmodule: Returns the data structures associated  *//*   with a defmodule construct to the pool of free memory. *//************************************************************/static void ReturnDefmodule(  void *theEnv,  struct defmodule *theDefmodule,  intBool environmentClear)  {   int i;   struct moduleItem *theItem;   struct portItem *theSpec, *nextSpec;   /*=====================================================*/   /* Set the current module to the module being deleted. */   /*=====================================================*/   if (theDefmodule == NULL) return;      if (! environmentClear)     { EnvSetCurrentModule(theEnv,(void *) theDefmodule); }   /*============================================*/   /* Call the free functions for the constructs */   /* belonging to this module.                  */   /*============================================*/   if (theDefmodule->itemsArray != NULL)     {      if (! environmentClear)        {         for (i = 0, theItem = DefmoduleData(theEnv)->ListOfModuleItems;              (i < DefmoduleData(theEnv)->NumberOfModuleItems) && (theItem != NULL);              i++, theItem = theItem->next)           {            if (theItem->freeFunction != NULL)              { (*theItem->freeFunction)(theEnv,theDefmodule->itemsArray[i]); }           }        }      rm(theEnv,theDefmodule->itemsArray,sizeof(void *) * DefmoduleData(theEnv)->NumberOfModuleItems);    }   /*======================================================*/   /* Decrement the symbol count for the defmodule's name. */   /*======================================================*/   if (! environmentClear)     { DecrementSymbolCount(theEnv,theDefmodule->name); }   /*====================================*/   /* Free the items in the import list. */   /*====================================*/   theSpec = theDefmodule->importList;   while (theSpec != NULL)     {      nextSpec = theSpec->next;      if (! environmentClear)        {         if (theSpec->moduleName != NULL) DecrementSymbolCount(theEnv,theSpec->moduleName);         if (theSpec->constructType != NULL) DecrementSymbolCount(theEnv,theSpec->constructType);         if (theSpec->constructName != NULL) DecrementSymbolCount(theEnv,theSpec->constructName);        }      rtn_struct(theEnv,portItem,theSpec);      theSpec = nextSpec;     }   /*====================================*/   /* Free the items in the export list. */   /*====================================*/   theSpec = theDefmodule->exportList;   while (theSpec != NULL)     {      nextSpec = theSpec->next;      if (! environmentClear)        {         if (theSpec->moduleName != NULL) DecrementSymbolCount(theEnv,theSpec->moduleName);         if (theSpec->constructType != NULL) DecrementSymbolCount(theEnv,theSpec->constructType);         if (theSpec->constructName != NULL) DecrementSymbolCount(theEnv,theSpec->constructName);        }      rtn_struct(theEnv,portItem,theSpec);      theSpec = nextSpec;     }   /*=========================================*/   /* Free the defmodule pretty print string. */   /*=========================================*/   if (theDefmodule->ppForm != NULL)     {      rm(theEnv,theDefmodule->ppForm,         (int) sizeof(char) * (strlen(theDefmodule->ppForm) + 1));     }        /*=======================*/   /* Return the user data. */   /*=======================*/   ClearUserDataList(theEnv,theDefmodule->usrData);      /*======================================*/   /* Return the defmodule data structure. */   /*======================================*/   rtn_struct(theEnv,defmodule,theDefmodule);  }#endif /* (! RUN_TIME) *//**********************************************************************//* EnvFindDefmodule: Searches for a defmodule in the list of defmodules. *//*   Returns a pointer to the defmodule if found, otherwise NULL.     *//**********************************************************************/globle void *EnvFindDefmodule(  void *theEnv,  char *defmoduleName)  {   struct defmodule *defmodulePtr;   SYMBOL_HN *findValue;   if ((findValue = (SYMBOL_HN *) FindSymbolHN(theEnv,defmoduleName)) == NULL) return(NULL);   defmodulePtr = DefmoduleData(theEnv)->ListOfDefmodules;   while (defmodulePtr != NULL)     {      if (defmodulePtr->name == findValue)        { return((void *) defmodulePtr); }      defmodulePtr = defmodulePtr->next;     }   return(NULL);  }/*************************************************//* GetCurrentModuleCommand: H/L access routine   *//*   for the get-current-module command.         *//*************************************************/globle void *GetCurrentModuleCommand(  void *theEnv)  {   struct defmodule *theModule;   EnvArgCountCheck(theEnv,"get-current-module",EXACTLY,0);   theModule = (struct defmodule *) EnvGetCurrentModule(theEnv);   if (theModule == NULL) return((SYMBOL_HN *) EnvFalseSymbol(theEnv));   return((SYMBOL_HN *) EnvAddSymbol(theEnv,ValueToString(theModule->name)));  }/*************************************************//* SetCurrentModuleCommand: H/L access routine   *//*   for the set-current-module command.         *//*************************************************/globle void *SetCurrentModuleCommand(  void *theEnv)  {   DATA_OBJECT argPtr;   char *argument;   struct defmodule *theModule;   SYMBOL_HN *defaultReturn;   /*=====================================================*/   /* Check for the correct number and type of arguments. */   /*=====================================================*/   theModule = ((struct defmodule *) EnvGetCurrentModule(theEnv));   if (theModule == NULL) return((SYMBOL_HN *) EnvFalseSymbol(theEnv));   defaultReturn = (SYMBOL_HN *) EnvAddSymbol(theEnv,ValueToString(((struct defmodule *) EnvGetCurrentModule(theEnv))->name));   if (EnvArgCountCheck(theEnv,"set-current-module",EXACTLY,1) == -1)     { return(defaultReturn); }   if (EnvArgTypeCheck(theEnv,"set-current-module",1,SYMBOL,&argPtr) == FALSE)     { return(defaultReturn); }   argument = DOToString(argPtr);   /*================================================*/   /* Set the current module to the specified value. */   /*================================================*/   theModule = (struct defmodule *) EnvFindDefmodule(theEnv,argument);   if (theModule == NULL)     {      CantFindItemErrorMessage(theEnv,"defmodule",argument);      return(defaultReturn);     }   EnvSetCurrentModule(theEnv,(void *) theModule);   /*================================*/   /* Return the new current module. */   /*================================*/   return((SYMBOL_HN *) defaultReturn);  }/*************************************************//* AddAfterModuleChangeFunction: Adds a function *//*   to the list of functions to be called after *//*   a module change occurs.                     *//*************************************************/globle void AddAfterModuleChangeFunction(  void *theEnv,  char *name,  void (*func)(void *),  int priority)  {   DefmoduleData(theEnv)->AfterModuleChangeFunctions =     AddFunctionToCallList(theEnv,name,priority,func,DefmoduleData(theEnv)->AfterModuleChangeFunctions,TRUE);  }/************************************************//* IllegalModuleSpecifierMessage: Error message *//*   for the illegal use of a module specifier. *//************************************************/globle void IllegalModuleSpecifierMessage(  void *theEnv)  {   PrintErrorID(theEnv,"MODULDEF",1,TRUE);   EnvPrintRouter(theEnv,WERROR,"Illegal use of the module specifier.\n");  }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产大陆精品国产| 午夜精品一区在线观看| 色香色香欲天天天影视综合网| 一区二区三区在线影院| 日韩亚洲欧美综合| 91色视频在线| 久久99精品久久久久久国产越南| 67194成人在线观看| 中文字幕一区二区三区在线播放 | 欧美在线短视频| 亚洲国产乱码最新视频| 久久aⅴ国产欧美74aaa| 欧美视频中文字幕| 国产高清无密码一区二区三区| 最新中文字幕一区二区三区| 日韩三级视频中文字幕| 99久久国产综合精品女不卡| 夜夜精品视频一区二区| 国产亚洲欧美日韩在线一区| 在线观看91视频| 成人性色生活片| 蓝色福利精品导航| 亚洲电影在线播放| 最新高清无码专区| 久久久美女毛片| 91精品国产乱| 色老综合老女人久久久| 国产麻豆91精品| 日本伊人精品一区二区三区观看方式 | 精品区一区二区| 色呦呦日韩精品| 国产成人免费在线视频| 免费在线一区观看| 午夜a成v人精品| 亚洲欧美在线aaa| 日本一区二区免费在线| 精品第一国产综合精品aⅴ| 91欧美激情一区二区三区成人| 精品在线播放午夜| 丝袜亚洲另类欧美| 亚洲一二三四在线观看| 国产精品高清亚洲| 欧美激情在线一区二区三区| 精品久久免费看| 欧美乱妇20p| 欧美色网一区二区| 欧美一区二区三区在线观看| 欧美日韩一区二区三区不卡| 99热99精品| 成人av资源站| 99久久综合色| 欧美亚洲另类激情小说| 91久久一区二区| 91成人免费网站| 色欧美日韩亚洲| 色婷婷国产精品久久包臀| 一本大道久久a久久综合婷婷| 成人国产一区二区三区精品| 成人免费看视频| 91亚洲精品一区二区乱码| 色综合夜色一区| 色综合天天综合狠狠| 色综合久久久久综合99| 欧美在线观看视频一区二区三区| 99精品黄色片免费大全| 91美女片黄在线| 欧美在线视频你懂得| 国产人久久人人人人爽| 中文字幕一区二区三区在线播放| 亚洲三级小视频| 亚洲天堂精品在线观看| 亚洲综合色自拍一区| 亚洲国产精品影院| 狠狠网亚洲精品| 国产91富婆露脸刺激对白| 91免费视频大全| 欧美精品黑人性xxxx| 精品国产一区二区精华| 国产欧美精品国产国产专区| 亚洲美女视频在线| 亚洲成a人v欧美综合天堂 | 国产日本欧美一区二区| 中文字幕亚洲一区二区av在线 | 亚洲国产aⅴ天堂久久| 奇米一区二区三区av| 粉嫩高潮美女一区二区三区| 91免费版pro下载短视频| 欧美日韩一区 二区 三区 久久精品| 91精品国产入口在线| 久久综合狠狠综合久久激情| 国产精品电影一区二区| 亚洲一区二区三区爽爽爽爽爽| 蜜臀精品久久久久久蜜臀| 成人精品一区二区三区四区| 在线精品视频一区二区三四| 91精品在线免费| 国产精品久久网站| 日韩精品一级二级| 91蜜桃传媒精品久久久一区二区| 欧美一区二区三级| 最新国产精品久久精品| 亚洲成av人片一区二区| 国产福利91精品一区二区三区| 色一区在线观看| 国产午夜精品久久久久久免费视| 亚洲图片欧美视频| 国产激情91久久精品导航| 欧美日韩视频不卡| 国产欧美精品一区aⅴ影院| 视频一区视频二区中文| 成人国产视频在线观看| 欧美电影免费观看完整版| 亚洲男同性视频| 国产在线看一区| 欧美日韩国产首页| 亚洲欧洲另类国产综合| 奇米四色…亚洲| 成人免费黄色大片| 亚洲精品一区二区三区四区高清| 亚洲欧洲日韩一区二区三区| 精彩视频一区二区| 欧美久久久影院| 亚洲人成在线观看一区二区| 91精品在线免费| 国产精品不卡在线| 国产精品888| 欧美电影在线免费观看| 中文字幕一区二区三区不卡在线 | 国产亚洲精品bt天堂精选| 久草热8精品视频在线观看| 欧洲另类一二三四区| 亚洲三级视频在线观看| 国产福利一区二区三区视频在线| 日韩免费一区二区三区在线播放| 亚洲va国产va欧美va观看| 色系网站成人免费| 一区二区三区中文字幕| 欧美性videosxxxxx| 亚洲无人区一区| 91精品国产品国语在线不卡 | 国产suv精品一区二区三区| 久久精品视频免费| 国产**成人网毛片九色 | 精品一区二区三区免费毛片爱| 日韩视频一区二区三区| 久久精品国产在热久久| 欧美成人福利视频| 国产精品综合在线视频| 国产亚洲视频系列| 99久久精品一区二区| 亚洲欧美国产毛片在线| 欧美日韩视频专区在线播放| 奇米色一区二区三区四区| 欧美精品一区二区三| 成人精品高清在线| 亚洲综合免费观看高清在线观看| 欧美日韩一卡二卡| 黄色日韩三级电影| 国产精品久99| 在线观看免费视频综合| 日本成人中文字幕| 国产午夜精品理论片a级大结局| 91在线免费播放| 日韩国产一二三区| 久久九九久久九九| 91福利区一区二区三区| 免费观看在线综合| 中文字幕在线不卡| 欧美日韩成人高清| 国产精品亚洲成人| 亚洲一区二区三区四区在线免费观看| 91精品国产欧美一区二区18 | 555夜色666亚洲国产免| 激情综合色丁香一区二区| 中文字幕乱码日本亚洲一区二区| 在线免费视频一区二区| 韩国三级电影一区二区| 日韩久久一区二区| 日韩精品一区在线观看| 久久夜色精品国产欧美乱极品| 国产91精品在线观看| 亚洲sss视频在线视频| 国产午夜精品理论片a级大结局| 欧美视频精品在线观看| 国产精品18久久久久久久久| 亚洲成a人片在线不卡一二三区| 国产亚洲欧洲997久久综合| 欧美日本乱大交xxxxx| 成人黄色av电影| 精品一区二区三区视频| 亚洲福中文字幕伊人影院| 国产精品丝袜一区| 欧美一卡2卡3卡4卡| 91丨porny丨首页| 国产精品99久久久久久似苏梦涵 | 中文字幕在线观看不卡视频| 51精品视频一区二区三区| 99免费精品视频| 国产精品一区在线观看乱码| 午夜精品在线看|