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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tmpltfun.c

?? clips源代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
/* DeftemplateSlotCardinalityFunction: H/L access routine */
/*   for the deftemplate-slot-cardinality function.       */
/**********************************************************/
globle void DeftemplateSlotCardinalityFunction(
  void *theEnv,
  DATA_OBJECT_PTR theValue)
  {
   struct deftemplate *theDeftemplate;
   SYMBOL_HN *slotName;

   /*===================================================*/
   /* Retrieve the deftemplate and slot name arguments. */
   /*===================================================*/
   
   slotName = CheckDeftemplateAndSlotArguments(theEnv,"deftemplate-slot-cardinality",&theDeftemplate);
   if (slotName == NULL)
     {
      EnvSetMultifieldErrorValue(theEnv,theValue);
      return;
     }

   /*=======================================*/
   /* Get the deftemplate slot cardinality. */
   /*=======================================*/
   
   EnvDeftemplateSlotCardinality(theEnv,theDeftemplate,ValueToString(slotName),theValue);
  }

/****************************************************/
/* EnvDeftemplateSlotCardinality: C access routine  */
/*   for the deftemplate-slot-cardinality function. */
/****************************************************/
globle void EnvDeftemplateSlotCardinality(
  void *theEnv,
  void *vTheDeftemplate,
  char *slotName,
  DATA_OBJECT *result)
  {
   struct deftemplate *theDeftemplate = (struct deftemplate *) vTheDeftemplate;
   short position;
   struct templateSlot *theSlot;

   /*===============================================*/
   /* If we're dealing with an implied deftemplate, */
   /* then the only slot names is "implied."        */
   /*===============================================*/

   if (theDeftemplate->implied)
     {
      if (strcmp(slotName,"implied") == 0)
        {
         result->type = MULTIFIELD;
         result->begin = 0;
         result->end = 1;
         result->value = EnvCreateMultifield(theEnv,2L);
         SetMFType(result->value,1,INTEGER);
         SetMFValue(result->value,1,SymbolData(theEnv)->Zero);
         SetMFType(result->value,2,SYMBOL);
         SetMFValue(result->value,2,SymbolData(theEnv)->PositiveInfinity);
         return;
        }
      else
        {     
         EnvSetMultifieldErrorValue(theEnv,result);
         SetEvaluationError(theEnv,TRUE);
         InvalidDeftemplateSlotMessage(theEnv,slotName,
                                       ValueToString(theDeftemplate->header.name),FALSE);
         return;
        }
     }

   /*============================================*/
   /* Otherwise search for the slot name in the  */
   /* list of slots defined for the deftemplate. */
   /*============================================*/

   else if ((theSlot = FindSlot(theDeftemplate,(SYMBOL_HN *) EnvAddSymbol(theEnv,slotName),&position)) == NULL)
     {
      EnvSetMultifieldErrorValue(theEnv,result);
      SetEvaluationError(theEnv,TRUE);
      InvalidDeftemplateSlotMessage(theEnv,slotName,
                                    ValueToString(theDeftemplate->header.name),FALSE);
      return;
     }
     
   /*=====================================*/
   /* Return the cardinality of the slot. */
   /*=====================================*/
   
   if (theSlot->multislot == 0)
     {
      EnvSetMultifieldErrorValue(theEnv,result);
      return;
     }
     
   result->type = MULTIFIELD;
   result->begin = 0;
   result->end = 1;
   result->value = EnvCreateMultifield(theEnv,2L);
   
   if (theSlot->constraints != NULL)
     {
      SetMFType(result->value,1,theSlot->constraints->minFields->type);
      SetMFValue(result->value,1,theSlot->constraints->minFields->value);
      SetMFType(result->value,2,theSlot->constraints->maxFields->type);
      SetMFValue(result->value,2,theSlot->constraints->maxFields->value);
     }
   else
     {
      SetMFType(result->value,1,INTEGER);
      SetMFValue(result->value,1,SymbolData(theEnv)->Zero);
      SetMFType(result->value,2,SYMBOL);
      SetMFValue(result->value,2,SymbolData(theEnv)->PositiveInfinity);
     }
  }

/************************************************************/
/* DeftemplateSlotAllowedValuesFunction: H/L access routine */
/*   for the deftemplate-slot-allowed-values function.      */
/************************************************************/
globle void DeftemplateSlotAllowedValuesFunction(
  void *theEnv,
  DATA_OBJECT_PTR theValue)
  {
   struct deftemplate *theDeftemplate;
   SYMBOL_HN *slotName;

   /*===================================================*/
   /* Retrieve the deftemplate and slot name arguments. */
   /*===================================================*/
   
   slotName = CheckDeftemplateAndSlotArguments(theEnv,"deftemplate-slot-allowed-values",&theDeftemplate);
   if (slotName == NULL)
     {
      EnvSetMultifieldErrorValue(theEnv,theValue);
      return;
     }

   /*==========================================*/
   /* Get the deftemplate slot allowed values. */
   /*==========================================*/
   
   EnvDeftemplateSlotAllowedValues(theEnv,theDeftemplate,ValueToString(slotName),theValue);
  }

/*******************************************************/
/* EnvDeftemplateSlotAllowedValues: C access routine   */
/*   for the deftemplate-slot-allowed-values function. */
/*******************************************************/
globle void EnvDeftemplateSlotAllowedValues(
  void *theEnv,
  void *vTheDeftemplate,
  char *slotName,
  DATA_OBJECT *result)
  {
   struct deftemplate *theDeftemplate = (struct deftemplate *) vTheDeftemplate;
   short position;
   struct templateSlot *theSlot;
   int i;
   EXPRESSION *theExp;

   /*===============================================*/
   /* If we're dealing with an implied deftemplate, */
   /* then the only slot names is "implied."        */
   /*===============================================*/

   if (theDeftemplate->implied)
     {
      if (strcmp(slotName,"implied") == 0)
        {
         result->type = SYMBOL;
         result->value = EnvFalseSymbol(theEnv);
         return;
        }
      else
        {     
         EnvSetMultifieldErrorValue(theEnv,result);
         SetEvaluationError(theEnv,TRUE);
         InvalidDeftemplateSlotMessage(theEnv,slotName,
                                       ValueToString(theDeftemplate->header.name),FALSE);
         return;
        }
     }

   /*============================================*/
   /* Otherwise search for the slot name in the  */
   /* list of slots defined for the deftemplate. */
   /*============================================*/

   else if ((theSlot = FindSlot(theDeftemplate,(SYMBOL_HN *) EnvAddSymbol(theEnv,slotName),&position)) == NULL)
     {
      EnvSetMultifieldErrorValue(theEnv,result);
      SetEvaluationError(theEnv,TRUE);
      InvalidDeftemplateSlotMessage(theEnv,slotName,
                                    ValueToString(theDeftemplate->header.name),FALSE);
      return;
     }
     
   /*========================================*/
   /* Return the allowed values of the slot. */
   /*========================================*/
   
   if ((theSlot->constraints != NULL) ? (theSlot->constraints->restrictionList == NULL) : TRUE)
     {
      result->type = SYMBOL;
      result->value = EnvFalseSymbol(theEnv);
      return;
     }
   
   result->type = MULTIFIELD;
   result->begin = 0;  
   result->end = ExpressionSize(theSlot->constraints->restrictionList) - 1;
   result->value = EnvCreateMultifield(theEnv,(unsigned long) (result->end + 1));
   i = 1;
   
   theExp = theSlot->constraints->restrictionList;
   while (theExp != NULL)
     {
      SetMFType(result->value,i,theExp->type);
      SetMFValue(result->value,i,theExp->value);
      theExp = theExp->nextArg;
      i++;
     }
  }

/****************************************************/
/* DeftemplateSlotRangeFunction: H/L access routine */
/*   for the deftemplate-slot-range function.       */
/****************************************************/
globle void DeftemplateSlotRangeFunction(
  void *theEnv,
  DATA_OBJECT_PTR theValue)
  {
   struct deftemplate *theDeftemplate;
   SYMBOL_HN *slotName;

   /*===================================================*/
   /* Retrieve the deftemplate and slot name arguments. */
   /*===================================================*/
   
   slotName = CheckDeftemplateAndSlotArguments(theEnv,"deftemplate-slot-range",&theDeftemplate);
   if (slotName == NULL)
     {
      EnvSetMultifieldErrorValue(theEnv,theValue);
      return;
     }

   /*=================================*/
   /* Get the deftemplate slot range. */
   /*=================================*/
   
   EnvDeftemplateSlotRange(theEnv,theDeftemplate,ValueToString(slotName),theValue);
  }

/**********************************************/
/* EnvDeftemplateSlotRange: C access routine  */
/*   for the deftemplate-slot-range function. */
/**********************************************/
globle void EnvDeftemplateSlotRange(
  void *theEnv,
  void *vTheDeftemplate,
  char *slotName,
  DATA_OBJECT *result)
  {
   struct deftemplate *theDeftemplate = (struct deftemplate *) vTheDeftemplate;
   short position;
   struct templateSlot *theSlot;

   /*===============================================*/
   /* If we're dealing with an implied deftemplate, */
   /* then the only slot names is "implied."        */
   /*===============================================*/

   if (theDeftemplate->implied)
     {
      if (strcmp(slotName,"implied") == 0)
        {
         result->type = MULTIFIELD;
         result->begin = 0;
         result->end = 1;
         result->value = EnvCreateMultifield(theEnv,2L);
         SetMFType(result->value,1,SYMBOL);
         SetMFValue(result->value,1,SymbolData(theEnv)->NegativeInfinity);
         SetMFType(result->value,2,SYMBOL);
         SetMFValue(result->value,2,SymbolData(theEnv)->PositiveInfinity);
         return;
        }
      else
        {     
         EnvSetMultifieldErrorValue(theEnv,result);
         SetEvaluationError(theEnv,TRUE);
         InvalidDeftemplateSlotMessage(theEnv,slotName,
                                       ValueToString(theDeftemplate->header.name),FALSE);
         return;
        }
     }

   /*============================================*/
   /* Otherwise search for the slot name in the  */
   /* list of slots defined for the deftemplate. */
   /*============================================*/

   else if ((theSlot = FindSlot(theDeftemplate,(SYMBOL_HN *) EnvAddSymbol(theEnv,slotName),&position)) == NULL)
     {
      EnvSetMultifieldErrorValue(theEnv,result);
      SetEvaluationError(theEnv,TRUE);
      InvalidDeftemplateSlotMessage(theEnv,slotName,
                                    ValueToString(theDeftemplate->header.name),FALSE);
      return;
     }
     
   /*===============================*/
   /* Return the range of the slot. */
   /*===============================*/
   
   if ((theSlot->constraints == NULL) ? FALSE :
       (theSlot->constraints->anyAllowed || theSlot->constraints->floatsAllowed ||
        theSlot->constraints->integersAllowed))
     {
      result->type = MULTIFIELD;
      result->begin = 0;
      result->end = 1;
      result->value = EnvCreateMultifield(theEnv,2L);
      SetMFType(result->value,1,theSlot->constraints->minValue->type);
      SetMFValue(result->value,1,theSlot->constraints->minValue->value);
      SetMFType(result->value,2,theSlot->constraints->maxValue->type);
      SetMFValue(result->value,2,theSlot->constraints->maxValue->value);
     }
   else
     {
      result->type = SYMBOL;
      result->value = EnvFalseSymbol(theEnv);
      return;
     }
  }
  
/****************************************************/
/* DeftemplateSlotTypesFunction: H/L access routine */
/*   for the deftemplate-slot-types function.       */
/****************************************************/
globle void DeftemplateSlotTypesFunction(
  void *theEnv,
  DATA_OBJECT_PTR theValue)
  {
   struct deftemplate *theDeftemplate;
   SYMBOL_HN *slotName;

   /*===================================================*/
   /* Retrieve the deftemplate and slot name arguments. */
   /*===================================================*/
   
   slotName = CheckDeftemplateAndSlotArguments(theEnv,"deftemplate-slot-types",&theDeftemplate);
   if (slotName == NULL)
     {
      EnvSetMultifieldErrorValue(theEnv,theValue);
      return;
     }

   /*=================================*/
   /* Get the deftemplate slot types. */
   /*=================================*/
   
   EnvDeftemplateSlotTypes(theEnv,theDeftemplate,ValueToString(slotName),theValue);
  }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品日产精品乱码不卡| 91免费观看视频在线| 中文字幕在线观看一区| 欧美精品三级日韩久久| 国产一区二区三区在线观看免费视频| 国产欧美日韩综合精品一区二区| 色欧美乱欧美15图片| 亚洲一级电影视频| 99国产精品久久久久久久久久| 丝袜美腿亚洲综合| 一区二区三区不卡视频在线观看| 欧美精品一区二区三区四区| 欧美日韩综合在线| 91年精品国产| 99久久国产免费看| av一二三不卡影片| www.日本不卡| 色老汉一区二区三区| 成人aa视频在线观看| 成人免费的视频| av电影在线观看一区| jlzzjlzz亚洲日本少妇| voyeur盗摄精品| av亚洲精华国产精华精华| 国产精品一区二区三区网站| 国产乱一区二区| 国产激情91久久精品导航| 国产成人av一区| 成人国产精品免费| 91在线观看高清| 欧美伊人久久久久久久久影院 | 欧美美女直播网站| 欧美日韩视频在线一区二区| 欧美剧情片在线观看| 亚洲欧美一区二区在线观看| 欧美制服丝袜第一页| 成人h动漫精品| 91网址在线看| 91精品国产综合久久香蕉麻豆| 欧美一区二区视频在线观看2022| 欧美电影免费观看高清完整版在线 | 国产精品视频一区二区三区不卡| 国产精品剧情在线亚洲| 亚洲一区二区在线播放相泽| 久久精品国产亚洲高清剧情介绍| 成人午夜视频网站| 欧美精品一级二级三级| 欧美激情一区二区| 日韩国产精品91| 北岛玲一区二区三区四区| 7777精品伊人久久久大香线蕉最新版| 欧美精品一区二区高清在线观看| 一区二区三区小说| 国产福利一区二区三区视频在线| 欧美色综合网站| 综合自拍亚洲综合图不卡区| 美女网站一区二区| 欧美精品色综合| 一区二区不卡在线播放| av在线这里只有精品| 国产欧美一区二区精品秋霞影院| 国产欧美精品区一区二区三区 | 中文字幕一区二区三区不卡| 亚洲一区中文日韩| 青青草91视频| 在线亚洲+欧美+日本专区| 精品三级av在线| 亚洲妇女屁股眼交7| 成人听书哪个软件好| 日韩欧美中文字幕公布| 亚洲国产日韩精品| 99久久婷婷国产精品综合| 91免费观看在线| 亚洲天堂精品在线观看| 蜜臀a∨国产成人精品| 日本久久电影网| 亚洲天堂av老司机| 99综合影院在线| 国产精品久久久久婷婷| 国产成人丝袜美腿| 久久精子c满五个校花| 激情成人综合网| 欧美精品一区二| 麻豆精品新av中文字幕| 日韩欧美专区在线| 亚洲国产一区二区a毛片| 在线免费观看日本一区| 成人综合在线网站| 亚洲精品一区二区三区影院| 久久不见久久见中文字幕免费| 国产精品麻豆欧美日韩ww| 国产日产欧产精品推荐色| 日韩成人午夜电影| 久久久亚洲精品石原莉奈| 日本女人一区二区三区| 精品国产一区二区三区不卡| 亚洲成人一区在线| 3d动漫精品啪啪1区2区免费 | 久久午夜色播影院免费高清 | 亚洲视频一区在线观看| 91一区二区三区在线播放| 亚洲人成网站精品片在线观看| 9l国产精品久久久久麻豆| 中文字幕二三区不卡| 欧洲av一区二区嗯嗯嗯啊| 理论电影国产精品| 国产亚洲欧美在线| 欧美性生交片4| 久久草av在线| 亚洲电影你懂得| 欧美一区二区三区喷汁尤物| 成人性色生活片| 亚洲综合色婷婷| 国产精品女同一区二区三区| 精品一区二区三区在线观看国产| 亚洲视频图片小说| 欧美亚洲尤物久久| 亚洲成av人影院在线观看网| 欧美三级三级三级爽爽爽| 日本不卡一区二区三区高清视频| 欧美一区二区三区白人| 成人a级免费电影| 国产精品美女久久久久久| 成人免费精品视频| 亚洲丝袜美腿综合| 国产精品成人网| 亚洲电影一区二区| 91香蕉视频污在线| 久久久久久久一区| 韩国一区二区三区| 欧美久久久久久久久久| 国产精品国产三级国产三级人妇| 国产网站一区二区三区| 91精品在线观看入口| 六月丁香婷婷久久| 亚洲欧美二区三区| 成人app网站| 免费在线看成人av| 视频在线在亚洲| 亚洲女同ⅹxx女同tv| 一区二区三区视频在线观看| 日韩欧美成人午夜| 成人黄动漫网站免费app| 日本午夜精品视频在线观看| 一区二区三区视频在线观看| 亚洲精品国产精品乱码不99| 国产日韩欧美不卡在线| 精品久久久久av影院| 精品欧美黑人一区二区三区| 日韩午夜在线影院| 欧美性猛交xxxx乱大交退制版| 99久久精品国产一区| 99久久久久免费精品国产| 成人丝袜视频网| 欧美羞羞免费网站| 中文字幕免费观看一区| 国内国产精品久久| 99在线精品观看| 欧美日韩精品三区| 久久奇米777| 麻豆极品一区二区三区| 久久99久久久久| 成人午夜视频在线| 欧美日韩中文一区| 中文字幕在线不卡一区| 午夜精品免费在线| 成人av电影在线播放| 精品国产一区二区亚洲人成毛片| 久久久久综合网| 日韩影院在线观看| 美脚の诱脚舐め脚责91| av电影在线不卡| 欧美精彩视频一区二区三区| 亚洲一级不卡视频| 在线观看日韩高清av| 日韩欧美国产一二三区| 亚洲主播在线播放| 一本大道综合伊人精品热热| 亚洲欧美另类图片小说| 欧美日韩综合在线| 最好看的中文字幕久久| 欧美中文字幕久久| 久久国产尿小便嘘嘘| 久久久久99精品国产片| 成人黄色av网站在线| 亚洲一区二区精品3399| 日韩欧美国产高清| 成人激情av网| 偷窥少妇高潮呻吟av久久免费| 欧美不卡视频一区| aaa亚洲精品| 国产麻豆日韩欧美久久| 一区二区三区在线视频观看58| 色播五月激情综合网| 久久黄色级2电影| 欧美xxxxxxxx| 日韩电影在线一区| 蜜桃精品视频在线观看| 精品美女在线观看| 成人午夜视频在线|