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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? multifld.c

?? clips源代碼
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
   else     {      /*========================================*/      /* Get a new segment with length equal to */      /* the total length of all the arguments. */      /*========================================*/      val_arr = (DATA_OBJECT *) gm3(theEnv,(long) sizeof(DATA_OBJECT) * argCount);      seg_size = 0;      for(i = 1 ; i <= argCount ; i++ , expptr = expptr->nextArg)        {         EvaluateExpression(theEnv,expptr,&val_ptr);         if (EvaluationData(theEnv)->EvaluationError)           {            SetpType(returnValue,MULTIFIELD);            SetpDOBegin(returnValue,1);            SetpDOEnd(returnValue,0);            if (garbageSegment)              { theMultifield = (struct multifield *) EnvCreateMultifield(theEnv,0L); }            else theMultifield = (struct multifield *) CreateMultifield2(theEnv,0L);            SetpValue(returnValue,(void *) theMultifield);            rm3(theEnv,val_arr,(long) sizeof(DATA_OBJECT) * argCount);            return;           }         SetpType(val_arr+i-1,GetType(val_ptr));         if (GetType(val_ptr) == MULTIFIELD)           {            SetpValue(val_arr+i-1,GetpValue(&val_ptr));            start = GetDOBegin(val_ptr);            end = GetDOEnd(val_ptr);           }         else if (GetType(val_ptr) == RVOID)           {            SetpValue(val_arr+i-1,GetValue(val_ptr));            start = 1;            end = 0;           }         else           {            SetpValue(val_arr+i-1,GetValue(val_ptr));            start = end = -1;           }         seg_size += (unsigned long) (end - start + 1);         SetpDOBegin(val_arr+i-1,start);         SetpDOEnd(val_arr+i-1,end);        }      if (garbageSegment)        { theMultifield = (struct multifield *) EnvCreateMultifield(theEnv,seg_size); }      else theMultifield = (struct multifield *) CreateMultifield2(theEnv,seg_size);      /*========================================*/      /* Copy each argument into new segment.  */      /*========================================*/      for(k=0,j=1; k < argCount;k++)        {         if (GetpType(val_arr+k) == MULTIFIELD)           {            start = GetpDOBegin(val_arr+k);            end = GetpDOEnd(val_arr+k);            orig_ptr = (struct multifield *) GetpValue(val_arr+k);            for(i=start; i< end + 1; i++,j++)              {               SetMFType(theMultifield,j,(GetMFType(orig_ptr,i)));               SetMFValue(theMultifield,j,(GetMFValue(orig_ptr,i)));              }           }         else if (GetpType(val_arr+k) != MULTIFIELD)           {            SetMFType(theMultifield,j,(short) (GetpType(val_arr+k)));            SetMFValue(theMultifield,j,(GetpValue(val_arr+k)));            j++;           }        }      /*=========================*/      /* Return the new segment. */      /*=========================*/      SetpType(returnValue,MULTIFIELD);      SetpDOBegin(returnValue,1);      SetpDOEnd(returnValue,(long) seg_size);      SetpValue(returnValue,(void *) theMultifield);      rm3(theEnv,val_arr,(long) sizeof(DATA_OBJECT) * argCount);      return;     }  }/*************************************************************//* MultifieldDOsEqual: determines if two segments are equal. *//*************************************************************/globle intBool MultifieldDOsEqual(  DATA_OBJECT_PTR dobj1,  DATA_OBJECT_PTR dobj2)  {   long extent1,extent2; /* 6.04 Bug Fix */   FIELD_PTR e1,e2;   extent1 = GetpDOLength(dobj1);   extent2 = GetpDOLength(dobj2);   if (extent1 != extent2)     { return(FALSE); }   e1 = (FIELD_PTR) GetMFPtr(GetpValue(dobj1),GetpDOBegin(dobj1));   e2 = (FIELD_PTR) GetMFPtr(GetpValue(dobj2),GetpDOBegin(dobj2));   while (extent1 != 0)     {      if (e1->type != e2->type)        { return(FALSE); }      if (e1->value != e2->value)        { return(FALSE); }      extent1--;      if (extent1 > 0)        {         e1++;         e2++;        }     }   return(TRUE);  }/******************************************************************//* MultifieldsEqual: Determines if two multifields are identical. *//******************************************************************/globle int MultifieldsEqual(  struct multifield *segment1,  struct multifield *segment2)  {   struct field *elem1;   struct field *elem2;   long length, i = 0;   length = segment1->multifieldLength;   if (length != segment2->multifieldLength)     { return(FALSE); }   elem1 = segment1->theFields;   elem2 = segment2->theFields;   /*==================================================*/   /* Compare each field of both facts until the facts */   /* match completely or the facts mismatch.          */   /*==================================================*/   while (i < length)     {      if (elem1[i].type != elem2[i].type)        { return(FALSE); }      if (elem1[i].type == MULTIFIELD)        {         if (MultifieldsEqual((struct multifield *) elem1[i].value,                              (struct multifield *) elem2[i].value) == FALSE)          { return(FALSE); }        }      else if (elem1[i].value != elem2[i].value)        { return(FALSE); }      i++;     }   return(TRUE);  }/************************************************************//* HashMultifield: Returns the hash value for a multifield. *//************************************************************/unsigned long HashMultifield(  struct multifield *theSegment,  unsigned long theRange)  {   unsigned long length, i;   unsigned long tvalue;   unsigned long count;   struct field *fieldPtr;   union     {      double fv;      void *vv;      unsigned long liv;     } fis;        /*================================================*/   /* Initialize variables for computing hash value. */   /*================================================*/   count = 0;   length = theSegment->multifieldLength;   fieldPtr = theSegment->theFields;   /*====================================================*/   /* Loop through each value in the multifield, compute */   /* its hash value, and add it to the running total.   */   /*====================================================*/   for (i = 0;        i < length;        i++)     {      switch(fieldPtr[i].type)         {          case MULTIFIELD:            count += HashMultifield((struct multifield *) fieldPtr[i].value,theRange);            break;          case FLOAT:            fis.fv = ValueToDouble(fieldPtr[i].value);            count += (fis.liv * (i + 29))  +                     (unsigned long) ValueToDouble(fieldPtr[i].value);            break;          case INTEGER:            count += (((unsigned long) ValueToLong(fieldPtr[i].value)) * (i + 29)) +                      ((unsigned long) ValueToLong(fieldPtr[i].value));            break;          case FACT_ADDRESS:          case EXTERNAL_ADDRESS:#if OBJECT_SYSTEM          case INSTANCE_ADDRESS:#endif            fis.liv = 0;            fis.vv = fieldPtr[i].value;            count += (unsigned long) (fis.liv * (i + 29));            break;          case SYMBOL:          case STRING:#if OBJECT_SYSTEM          case INSTANCE_NAME:#endif            tvalue = (unsigned long) HashSymbol(ValueToString(fieldPtr[i].value),theRange);            count += (unsigned long) (tvalue * (i + 29));            break;         }     }   /*========================*/   /* Return the hash value. */   /*========================*/   return(count);  }/**********************//* GetMultifieldList: *//**********************/globle struct multifield *GetMultifieldList(  void *theEnv)  {   return(MultifieldData(theEnv)->ListOfMultifields);  }/***************************************//* ImplodeMultifield: C access routine *//*   for the implode$ function.        *//***************************************/globle void *ImplodeMultifield(  void *theEnv,  DATA_OBJECT *value)  {   size_t strsize = 0;   long i, j;   char *tmp_str;   char *ret_str;   void *rv;   struct multifield *theMultifield;   /*===================================================*/   /* Determine the size of the string to be allocated. */   /*===================================================*/   theMultifield = (struct multifield *) GetpValue(value);   for (i = GetpDOBegin(value) ; i <= GetpDOEnd(value) ; i++)     {      if (GetMFType(theMultifield,i) == FLOAT)        {         tmp_str = FloatToString(theEnv,ValueToDouble(GetMFValue(theMultifield,i)));         strsize += strlen(tmp_str) + 1;        }      else if (GetMFType(theMultifield,i) == INTEGER)        {         tmp_str = LongIntegerToString(theEnv,ValueToLong(GetMFValue(theMultifield,i)));         strsize += strlen(tmp_str) + 1;        }      else if (GetMFType(theMultifield,i) == STRING)        {         strsize += strlen(ValueToString(GetMFValue(theMultifield,i))) + 3;         tmp_str = ValueToString(GetMFValue(theMultifield,i));         while(*tmp_str)           {            if (*tmp_str == '"')              { strsize++; }            else if (*tmp_str == '\\') /* GDR 111599 #835 */              { strsize++; }           /* GDR 111599 #835 */            tmp_str++;           }        }#if OBJECT_SYSTEM      else if (GetMFType(theMultifield,i) == INSTANCE_NAME)        { strsize += strlen(ValueToString(GetMFValue(theMultifield,i))) + 3; }      else if (GetMFType(theMultifield,i) == INSTANCE_ADDRESS)        { strsize += strlen(ValueToString(((INSTANCE_TYPE *)                            GetMFValue(theMultifield,i))->name)) + 3; }#endif      else        { strsize += strlen(ValueToString(GetMFValue(theMultifield,i))) + 1; }     }   /*=============================================*/   /* Allocate the string and copy all components */   /* of the MULTIFIELD variable to it.           */   /*=============================================*/   if (strsize == 0) return(EnvAddSymbol(theEnv,""));   ret_str = (char *) gm2(theEnv,strsize);   for(j=0, i=GetpDOBegin(value); i <= GetpDOEnd(value) ; i++)     {      /*============================*/      /* Convert numbers to strings */      /*============================*/      if (GetMFType(theMultifield,i) == FLOAT)        {         tmp_str = FloatToString(theEnv,ValueToDouble(GetMFValue(theMultifield,i)));         while(*tmp_str)           {            *(ret_str+j) = *tmp_str;            j++, tmp_str++;           }        }      else if (GetMFType(theMultifield,i) == INTEGER)        {         tmp_str = LongIntegerToString(theEnv,ValueToLong(GetMFValue(theMultifield,i)));         while(*tmp_str)           {            *(ret_str+j) = *tmp_str;            j++, tmp_str++;           }        }      /*=======================================*/      /* Enclose strings in quotes and preceed */      /* imbedded quotes with a backslash      */      /*=======================================*/      else if (GetMFType(theMultifield,i) == STRING)        {         tmp_str = ValueToString(GetMFValue(theMultifield,i));         *(ret_str+j) = '"';         j++;         while(*tmp_str)           {            if (*tmp_str == '"')              {               *(ret_str+j) = '\\';               j++;              }            else if (*tmp_str == '\\') /* GDR 111599 #835 */              {                        /* GDR 111599 #835 */               *(ret_str+j) = '\\';    /* GDR 111599 #835 */               j++;                    /* GDR 111599 #835 */              }                        /* GDR 111599 #835 */                          *(ret_str+j) = *tmp_str;            j++, tmp_str++;           }         *(ret_str+j) = '"';         j++;        }#if OBJECT_SYSTEM      else if (GetMFType(theMultifield,i) == INSTANCE_NAME)        {         tmp_str = ValueToString(GetMFValue(theMultifield,i));         *(ret_str + j++) = '[';         while(*tmp_str)           {            *(ret_str+j) = *tmp_str;            j++, tmp_str++;           }         *(ret_str + j++) = ']';        }      else if (GetMFType(theMultifield,i) == INSTANCE_ADDRESS)        {         tmp_str = ValueToString(((INSTANCE_TYPE *) GetMFValue(theMultifield,i))->name);         *(ret_str + j++) = '[';         while(*tmp_str)           {            *(ret_str+j) = *tmp_str;            j++, tmp_str++;           }         *(ret_str + j++) = ']';        }#endif      else        {         tmp_str = ValueToString(GetMFValue(theMultifield,i));         while(*tmp_str)           {            *(ret_str+j) = *tmp_str;            j++, tmp_str++;           }         }      *(ret_str+j) = ' ';      j++;     }   *(ret_str+j-1) = '\0';   /*====================*/   /* Return the string. */   /*====================*/   rv = EnvAddSymbol(theEnv,ret_str);   rm(theEnv,ret_str,strsize);   return(rv);  }

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美日韩在线播放| 成人深夜在线观看| 三级亚洲高清视频| 亚洲一区二区四区蜜桃| 亚洲视频在线观看一区| 亚洲美女精品一区| 亚洲天堂av老司机| 亚洲人精品一区| 最新热久久免费视频| 欧美激情一区二区| 国产精品视频观看| 中文字幕亚洲欧美在线不卡| 中文字幕一区二区三区四区不卡 | 国产91综合网| 国产一区二区美女| 国产一区二区福利| 国产成人在线视频免费播放| 国产99久久久精品| 91麻豆免费在线观看| 91丨porny丨中文| 欧美综合一区二区三区| 欧美精品成人一区二区三区四区| 欧美日韩国产精品成人| 日韩精品一区二区在线观看| 国产午夜精品在线观看| 亚洲欧洲成人自拍| 亚洲成人动漫av| 美女视频一区二区三区| 国产成人高清视频| 一本久久a久久免费精品不卡| 欧美亚洲国产一卡| 欧美一区二区三区小说| 久久久99久久| 亚洲男人的天堂av| 偷窥国产亚洲免费视频| 精品一二三四区| av高清不卡在线| 欧美日韩午夜在线视频| 精品久久久久久久久久久久久久久久久| 久久免费国产精品| 亚洲精品老司机| 免费精品视频最新在线| 成人国产精品免费| 欧美日韩黄色影视| 久久久久久久久免费| 亚洲激情六月丁香| 国产最新精品免费| 色综合久久久久| 欧美一级精品大片| 成人免费小视频| 五月天丁香久久| 国产成人在线影院| 欧美日韩黄视频| 国产精品色哟哟| 婷婷亚洲久悠悠色悠在线播放| 国产精品综合在线视频| 欧美日韩免费一区二区三区| 久久精品这里都是精品| 亚洲成人一区在线| 成人av先锋影音| 日韩视频在线你懂得| 亚洲欧美在线另类| 韩国精品主播一区二区在线观看 | 最新中文字幕一区二区三区| 91在线观看高清| 日韩视频一区二区三区| 亚洲丝袜精品丝袜在线| 国内国产精品久久| 欧美日韩在线电影| 国产精品久久久久久久久快鸭 | 国产成a人无v码亚洲福利| 欧美精品粉嫩高潮一区二区| 1区2区3区欧美| 国产一区二区成人久久免费影院| 欧美高清视频在线高清观看mv色露露十八| 国产精品视频观看| 黄色日韩网站视频| 正在播放亚洲一区| 一区二区三区四区高清精品免费观看| 激情欧美一区二区三区在线观看| 欧美日韩一区二区不卡| 亚洲欧美日韩系列| 国产成人亚洲综合a∨婷婷图片| 69堂国产成人免费视频| 亚洲精品国产a| 99热精品国产| 欧美国产日本韩| 国产精品 日产精品 欧美精品| 欧美一区二区精品在线| 亚洲高清免费观看高清完整版在线观看 | 欧美国产精品一区| 精品一区二区三区的国产在线播放 | 日本丶国产丶欧美色综合| 欧美国产激情二区三区| 国内精品第一页| 精品国产乱码久久久久久夜甘婷婷| 午夜精品福利视频网站| 日本精品裸体写真集在线观看| 国产精品国产三级国产aⅴ无密码| 国产成人自拍在线| 久久久不卡影院| 精品一区二区三区在线播放| 日韩欧美国产系列| 美国毛片一区二区| 日韩欧美中文一区| 日韩电影免费在线看| 67194成人在线观看| 五月综合激情婷婷六月色窝| 7878成人国产在线观看| 欧美aaa在线| 精品久久一区二区| 激情综合网激情| 亚洲影视资源网| 91国偷自产一区二区三区成为亚洲经典 | 欧美国产乱子伦| 成人v精品蜜桃久久一区| 国产精品色一区二区三区| 97成人超碰视| 夜夜夜精品看看| 欧美另类高清zo欧美| 青青草精品视频| 欧美精品一区二区不卡| 国产成人aaa| 国产精品狼人久久影院观看方式| 91在线观看高清| 亚洲成人av电影| 欧美成人三级电影在线| 国产福利电影一区二区三区| 中文字幕一区二区三区av| 欧洲精品一区二区| 青草av.久久免费一区| 国产夜色精品一区二区av| www.99精品| 亚洲一区二区三区小说| 欧美白人最猛性xxxxx69交| 国产福利一区二区三区视频 | 国产精品一区二区在线看| 中文字幕在线不卡视频| 欧美日本在线观看| 国产麻豆精品久久一二三| 亚洲丝袜美腿综合| 欧美精品欧美精品系列| 国产精品一区二区三区99| 国产精品久久久久久亚洲毛片| 91黄色在线观看| 精品一区二区三区av| 亚洲素人一区二区| 91精品国产高清一区二区三区| 国产成人啪午夜精品网站男同| 亚洲夂夂婷婷色拍ww47| www激情久久| 欧美优质美女网站| 国产一区二区三区日韩| 一区二区三区欧美久久| 精品国产1区二区| 91福利国产精品| 国产一区激情在线| 亚洲午夜电影网| 欧美激情中文字幕| 91麻豆精品国产91久久久久| 国产.欧美.日韩| 天天亚洲美女在线视频| 欧美国产激情一区二区三区蜜月 | 中文字幕在线免费不卡| 欧美一级一区二区| 91麻豆产精品久久久久久 | 欧美一区二区视频网站| 不卡高清视频专区| 久久精品二区亚洲w码| 亚洲精品少妇30p| 久久久噜噜噜久久人人看| 欧美日韩一区二区三区视频| 成人一区二区三区视频 | 99久久婷婷国产精品综合| 欧美怡红院视频| 国产精品一区二区在线播放| 午夜精品福利在线| 亚洲欧美精品午睡沙发| 国产日本一区二区| 精品欧美久久久| 欧美区在线观看| 色婷婷综合久久久中文一区二区| 国产成人免费9x9x人网站视频| 日本免费新一区视频| 亚洲夂夂婷婷色拍ww47| 日韩一区在线看| 久久久久97国产精华液好用吗 | 美女www一区二区| 亚洲第一福利一区| 亚洲乱码一区二区三区在线观看| 国产欧美日韩久久| 精品福利一二区| 精品日韩一区二区三区| 欧美一区二区国产| 欧美午夜片在线观看| 色哟哟欧美精品| 91亚洲精品乱码久久久久久蜜桃| 国产成人精品影视| 国产999精品久久| 国产不卡视频一区二区三区|