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

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

?? stdsoap2.c

?? linux下開發(fā)的soap協(xié)議。建議大家學(xué)習(xí)學(xué)習(xí)!
?? C
?? 第 1 頁 / 共 5 頁
字號:
      if (*t != '-')      { if (*t != '*')	  return 1;	else if (*++t)	{ int c = tolower(*t);	  for (; *s; s++)	  { if (tolower(*s) == c)	      if (!soap_tag_cmp(s+1, t+1))	        return 0;          }	}        else	  return 0;      }  if (*t == '*' && !t[1])    return 0;  return *t;}/******************************************************************************/SOAP_FMAC1wcharSOAP_FMAC2soap_char(struct soap *soap){ int i, c;  char tmp[8], *t = tmp;  for (i = 0; i < 7; i++)  { c = soap_get1(soap);    if (c == ';' || c == EOF)      break;    else      *t++ = c;  }  *t = '\0';  if (*tmp == '#')  { if (tmp[1] == 'x' || tmp[1] == 'X')      return strtol(tmp+2, &t, 16)|0x80000000;    else      return atoi(tmp+1)|0x80000000;  }  if (!soap_tag_cmp(tmp, "lt"))    return '<';  if (!soap_tag_cmp(tmp, "gt"))    return '>';  if (!soap_tag_cmp(tmp, "amp"))    return '&';  if (!soap_tag_cmp(tmp, "quot"))    return '"';  if (!soap_tag_cmp(tmp, "apos"))    return '\'';  return '?';}/******************************************************************************/SOAP_FMAC1wcharSOAP_FMAC2soap_get(struct soap *soap){ register wchar c;  if (soap->ahead1)  { c = soap->ahead1;    soap->ahead1 = 0;    return c;  }  if (soap->ahead2)  { c = soap->ahead2;    soap->ahead2 = 0;    return c;  }redo:  c = soap_get1(soap);  if (soap->cdata)  { if (c == ']')    { c = soap_get1(soap);      if (c == ']')      { soap->cdata = 0;        c = soap_get1(soap); /* skip > */        goto redo;      }      else      { soap->ahead2 = c;        return ']';      }    }    else      return c;  }  switch (c)  { case '<':      do c = soap_get1(soap);      while (blank(c));      if (c == '!' || c == '?' || c == '%')      { if (c == '!')        { c = soap_get1(soap);	  if (c == '[')	  { do c = soap_get1(soap);	    while (c != EOF && c != '[');	    if (c == EOF)	      return EOF;	    soap->cdata = 1;            return soap_get1(soap);	  }	  if (c == '-' && (c = soap_get1(soap)) == '-')	  { do	    { c = soap_get1(soap);	      if (c == '-' && (c = soap_get1(soap)) == '-')	        break;	    } while (c != EOF);	  }	}        while (c != EOF && c != '>')          c = soap_get1(soap);        if (c == '>')          goto redo;        return EOF;      }      if (c == '/')        return TT;      soap->ahead2 = c;      return LT;    case '>':      return GT;    case '"':      return QT;    case '\'':      return AP;    case '&':      c = soap_char(soap);  }  return c;}/******************************************************************************/SOAP_FMAC1wcharSOAP_FMAC2soap_advance(struct soap *soap){ wchar c;  while (((c = soap_get(soap)) != EOF) && c != LT && c != TT)    ;  return c;}/******************************************************************************/SOAP_FMAC1wcharSOAP_FMAC2soap_skip(struct soap *soap){ register wchar c;  do c = soap_get(soap);  while (blank(c));  return c;}/******************************************************************************/SOAP_FMAC1intSOAP_FMAC2soap_move(struct soap *soap, int n){ DBGLOG(TEST, SOAP_MESSAGE(fdebug,"\nmoving %d bytes forward", n));  for (; n > 0; n--)    if (soap_get2(soap) == EOF)      return SOAP_EOF;  return SOAP_OK;}/******************************************************************************/SOAP_FMAC1size_tSOAP_FMAC2soap_tell(struct soap *soap){ return soap->count - soap->buflen + soap->bufidx - (soap->ahead1 || soap->ahead2);}/******************************************************************************/SOAP_FMAC1intSOAP_FMAC2soap_pututf8(struct soap *soap, wchar c){ char tmp[16];  if (c < 0x80)  { tmp[0] = (char)c;    tmp[1] = '\0';  }  else    sprintf(tmp, "&#%lu;", (unsigned long)c);  return soap_send(soap, tmp);}/******************************************************************************/SOAP_FMAC1wcharSOAP_FMAC2soap_getutf8(struct soap *soap){ register wchar c;  c = soap_get2(soap);  if (c < 0x80)    return c;  if (c < 0xC0)    return ((wchar)(c&0x1F)<<6)|(wchar)(soap_get1(soap)&0x3F);  if (c < 0xF0)    return ((wchar)(c&0x0F)<<12)|((wchar)(soap_get1(soap)&0x3F)<<6)|(wchar)(soap_get1(soap)&0x3F);  if (c < 0xF8)    return ((wchar)(c&0x07)<<18)|((wchar)(soap_get1(soap)&0x3F)<<12)|((wchar)(soap_get1(soap)&0x3F)<<6)|(wchar)(soap_get1(soap)&0x3F);  if (c < 0xFA)    return ((wchar)(c&0x07)<<24)|((wchar)(soap_get1(soap)&0x3F)<<18)|((wchar)(soap_get1(soap)&0x3F)<<12)|((wchar)(soap_get1(soap)&0x3F)<<6)|(wchar)(soap_get1(soap)&0x3F);  return ((wchar)(c&0x07)<<30)|((wchar)(soap_get1(soap)&0x3F)<<24)|((wchar)(soap_get1(soap)&0x3F)<<18)|((wchar)(soap_get1(soap)&0x3F)<<12)|((wchar)(soap_get1(soap)&0x3F)<<6)|(wchar)(soap_get1(soap)&0x3F);}/******************************************************************************/SOAP_FMAC1intSOAP_FMAC2soap_puthex(struct soap *soap, int n){ char d[3];  d[0] = (n>>4) + (n > 159 ? '7' : '0');  n &= 0x0F;  d[1] = n + (n > 9 ? '7' : '0');  d[2] = '\0';  return soap_send(soap, d);}/******************************************************************************/SOAP_FMAC1intSOAP_FMAC2soap_gethex(struct soap *soap){ wchar c;  char d1, d2;  if ((c = soap_get(soap)) < 0)  { soap_unget(soap, c);    return EOF;  }  d1 = (char)c;  if ((c = soap_get(soap)) < 0)  { soap_unget(soap, c);    return EOF;  }  d2 = (char)c;  return ((d1 >= 'A' ? (d1&0x7) + 9 : d1 - '0') << 4) + (d2 >= 'A' ? (d2&0x7) + 9 : d2 - '0');}/******************************************************************************/SOAP_FMAC1intSOAP_FMAC2soap_putbase64(struct soap *soap, const unsigned char *s, size_t n){ register size_t i;  register unsigned long m;  char d[5];  static const char base64[65] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";  if (!s)    return SOAP_OK;  d[4] = '\0';  for (; n > 2; n -= 3, s += 3)  { m = (s[0]<<16) | (s[1]<<8) | s[2];    for (i = 4; i > 0; m >>= 6)      d[--i] = base64[m&0x3F];    if (soap_send(soap, d))      return soap->error;  }  if (n > 0)  { m = 0;    for (i = 0; i < n; i++)      m = (m<<8) | *s++;    for (; i < 3; i++)      m <<= 8;    for (i++; i > 0; m >>= 6)      d[--i] = base64[m&0x3F];    for (i = 3; i > n; i--)      d[i] = '=';    if (soap_send(soap, d))      return soap->error;  }  return SOAP_OK;}/******************************************************************************/SOAP_FMAC1unsigned char*SOAP_FMAC2soap_getbase64(struct soap *soap, size_t *n, int malloc_flag){ static const char base64[81] = "\76XXX\77\64\65\66\67\70\71\72\73\74\75XXXXXXX\00\01\02\03\04\05\06\07\10\11\12\13\14\15\16\17\20\21\22\23\24\25\26\27\30\31XXXXXX\32\33\34\35\36\37\40\41\42\43\44\45\46\47\50\51\52\53\54\55\56\57\60\61\62\63";  register int i, j;  register wchar c;  register unsigned long m;  unsigned char *p;  char *s;  if (soap_new_block(soap))    return NULL;  for (;;)  { s = (char*)soap_push_block(soap, 3*SOAP_BLKLEN);	/* must be multiple of 3 */    for (i = 0; i < SOAP_BLKLEN; i++)    { m = 0;      j = 0;      while (j < 4)      { c = soap_get(soap);        if (c == '=' || c < 0)        { soap->blist->size += 3*(i-SOAP_BLKLEN);	  switch (j)	  { case 2:              *s++ = (char)((m >> 4) & 0xFF);	      soap->blist->size++;	      break;	    case 3:              *s++ = (char)((m >> 10) & 0xFF);              *s++ = (char)((m >> 2) & 0xFF);	      soap->blist->size += 2;          }	  *n = soap->blist->size;	  if (soap->blist->size > 0)	    if (malloc_flag)	      p = (unsigned char*)malloc(soap->blist->size);	    else	      p = (unsigned char*)soap_malloc(soap, soap->blist->size);          else	    p = NULL;	  soap_store_block(soap, (char*)p);	  if (c >= 0)	    c = soap_advance(soap);	  soap_unget(soap, c);	  return p;	}        c -= '+';        if (c >= 0 && c <= 79)        { m = (m << 6) + base64[c];	  j++;        }      }      *s++ = (char)((m >> 16) & 0xFF);      *s++ = (char)((m >> 8) & 0xFF);      *s++ = (char)(m & 0xFF);    }  }}/******************************************************************************/static char*soap_strerror(struct soap *soap, int soaperror){#ifndef UNDER_CE  return strerror(soaperror);#else  FormatMessage(    FORMAT_MESSAGE_FROM_SYSTEM |    FORMAT_MESSAGE_IGNORE_INSERTS,    NULL,    soaperror,    0,    (LPTSTR) &soap->werrorstr,    256,    NULL  );  wcstombs(soap->errorstr, soap->werrorstr, 256);  return soap->errorstr;#endif}/******************************************************************************/static voidsoap_set_error(struct soap *soap, const char *faultcode, const char *faultstring, const char *faultdetail, int soaperror){ *soap_faultcode(soap) = faultcode;  *soap_faultstring(soap) = faultstring;  *soap_faultdetail(soap) = faultdetail;  soap->error = soaperror;}/******************************************************************************/SOAP_FMAC1intSOAP_FMAC2soap_new_block(struct soap *soap){ struct soap_blist *p;  DBGLOG(TEST, SOAP_MESSAGE(fdebug,"\nNew block sequence (prev=%p)", soap->blist));  if (!(p = (struct soap_blist*)malloc(sizeof(struct soap_blist))))    return SOAP_EOM;     p->next = soap->blist;   p->ptr = NULL;  p->size = 0;  soap->blist = p;  return SOAP_OK;}/******************************************************************************/SOAP_FMAC1void*SOAP_FMAC2soap_push_block(struct soap *soap, size_t n){ char *p;  DBGLOG(TEST, SOAP_MESSAGE(fdebug,"\nPush block %d (%d)", (int)n, soap->blist->size));  if (!(p = (char*)malloc(n + sizeof(char*) + sizeof(size_t))))    return NULL;  *((char**)p) = soap->blist->ptr;  *((size_t*)(p + sizeof(char*))) = n;  soap->blist->ptr = p;  soap->blist->size += n;  return p + sizeof(char*) + sizeof(size_t);}/******************************************************************************/SOAP_FMAC1voidSOAP_FMAC2soap_pop_block(struct soap *soap){ DBGLOG(TEST, SOAP_MESSAGE(fdebug,"\nPop block"));  if (!soap->blist->ptr)    return;  soap->blist->size -= *((size_t*)(soap->blist->ptr + sizeof(char*)));}/******************************************************************************/static voidsoap_update_ptrs(struct soap *soap, char *start, char *end, long offset){ int i;  struct soap_ilist *ip;  void *p, **q;  for (i = 0; i < SOAP_IDHASH; i++)    for (ip = soap->iht[i]; ip; ip = ip->next)      { if (ip->ptr && (char*)ip->ptr >= start && (char*)ip->ptr < end)          ip->ptr = (char*)ip->ptr + offset;        DBGLOG(TEST, SOAP_MESSAGE(fdebug,"\nTraversing link chain to update %s type %d at level %d", ip->id, ip->type, ip->level));        for (q = &ip->link; q; q = (void**)p)        { p = *q;	  if (p && (char*)p >= start && (char*)p < end)          { DBGLOG(TEST, SOAP_MESSAGE(fdebug,"Link update %p", p));	    *q = (char*)p + offset;          }        }        DBGLOG(TEST, SOAP_MESSAGE(fdebug,"\nTraversing copy chain to update %s type %d at level %d", ip->id, ip->type, ip->level));        for (q = &ip->copy; q; q = (void**)p)        { p = *q;          DBGLOG(TEST, SOAP_MESSAGE(fdebug,"\nCheck location %p", p));	  if (p && (char*)p >= start && (char*)p < end)          { DBGLOG(TEST, SOAP_MESSAGE(fdebug,"\nCopy update %p", p));	    *q = (char*)p + offset;          }        }      }  DBGLOG(TEST, SOAP_MESSAGE(fdebug,"\nPointers updated"));}/******************************************************************************/static voidsoap_resolve_ptr(struct soap_ilist *ip){ void *p, **q;  q = (void**)ip->link;  ip->link = NULL;  while (q)  { p = *q;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区三区中文字幕| 在线观看视频一区二区欧美日韩| 亚洲国产综合91精品麻豆| xfplay精品久久| 麻豆国产精品777777在线| 2017欧美狠狠色| 欧美日韩一区小说| 91麻豆swag| 色综合久久综合网| 国产色综合一区| 亚洲激情中文1区| 99这里都是精品| 国产精品1区二区.| 秋霞影院一区二区| 亚洲成av人综合在线观看| 色综合天天综合狠狠| 日韩欧美国产一区二区在线播放 | 欧美精品一区视频| 91久久精品一区二区二区| 丁香激情综合国产| 在线观看一区日韩| 韩国三级中文字幕hd久久精品| 在线综合视频播放| 成人a区在线观看| 777精品伊人久久久久大香线蕉| 粗大黑人巨茎大战欧美成人| 国产成人欧美日韩在线电影| 久久午夜免费电影| 蜜桃视频一区二区三区在线观看| 一区二区三区欧美久久| 亚洲精品欧美激情| 国产三级久久久| 欧美xxxxxxxx| 日韩欧美的一区| 欧美视频在线一区| 亚洲永久免费视频| 国产欧美视频在线观看| 93久久精品日日躁夜夜躁欧美| 最新成人av在线| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 国产精品超碰97尤物18| 亚洲久草在线视频| 久久影院午夜论| 国产精品乱码人人做人人爱 | 中文字幕av一区二区三区免费看 | 成人晚上爱看视频| 99在线精品一区二区三区| 亚洲另类在线视频| 丝袜诱惑亚洲看片| 一区二区在线看| 午夜国产精品一区| 激情综合色丁香一区二区| 亚洲在线视频网站| 狠狠色丁香婷婷综合| 成人午夜视频福利| 精品视频一区二区三区免费| 成人精品国产一区二区4080| www.亚洲精品| 91精品久久久久久久99蜜桃| www国产成人免费观看视频 深夜成人网| 处破女av一区二区| 国产成人免费av在线| 在线观看av不卡| 成人丝袜18视频在线观看| 色婷婷av久久久久久久| 欧美一级搡bbbb搡bbbb| 国产精品久久网站| 国产无一区二区| 日韩精品每日更新| hitomi一区二区三区精品| 欧美猛男男办公室激情| 欧美在线你懂的| 久久婷婷国产综合精品青草 | 欧美国产国产综合| 91精品国产91久久久久久最新毛片| 欧美亚洲一区二区在线| 国产亚洲人成网站| 日韩精品一区第一页| 国产一区二区三区最好精华液| 久久精品99久久久| 成人激情综合网站| 91小视频在线免费看| 欧美精品一区二区三区很污很色的 | 久久嫩草精品久久久久| 亚洲国产成人av网| 99久久99久久免费精品蜜臀| 久久你懂得1024| 久久精品国产网站| 91成人在线精品| 日本一区二区三区四区| 美女诱惑一区二区| 另类小说视频一区二区| 国产乱子伦视频一区二区三区| 国产一区二区三区国产| 欧美日韩激情一区| 国产日韩三级在线| 91精品在线一区二区| 精品国产成人在线影院| 欧美极品少妇xxxxⅹ高跟鞋| 国产精品亚洲人在线观看| 日韩欧美国产一二三区| 日本人妖一区二区| 国产不卡免费视频| 亚洲精品在线网站| 国产精品理论片| 国产精品1024久久| 国产精品视频免费看| 成人app在线| 亚洲另类中文字| 在线一区二区三区四区五区| 一区二区国产盗摄色噜噜| 国模少妇一区二区三区| 久久久夜色精品亚洲| 粉嫩高潮美女一区二区三区 | 一区二区在线观看视频| 91麻豆国产香蕉久久精品| 日韩亚洲欧美综合| 美国毛片一区二区| 91精品国产欧美日韩| 麻豆精品在线看| 色天天综合色天天久久| 久久天堂av综合合色蜜桃网 | 久久久综合九色合综国产精品| 亚洲精品高清视频在线观看| 国产在线一区观看| 亚洲国产成人午夜在线一区| 视频在线观看一区二区三区| 日韩一卡二卡三卡| 成人妖精视频yjsp地址| 亚洲精品日韩专区silk| 91麻豆精品国产综合久久久久久| 国产精品区一区二区三| 99精品久久只有精品| 精品国产一区二区三区久久久蜜月| 国产精品一区在线| 欧美激情在线看| 日韩精品一区二区三区在线播放| 国产一区二区美女| 欧美一区二区三区公司| 亚洲第一二三四区| 日本一区二区三区四区在线视频| 99天天综合性| 国产精品美女视频| 91精品国产色综合久久| 亚洲国产一区二区a毛片| 色婷婷精品久久二区二区蜜臀av| 蜜臀av性久久久久蜜臀av麻豆| 亚洲国产激情av| 4hu四虎永久在线影院成人| 国产精品亚洲成人| 国产欧美日韩综合| 欧美三级乱人伦电影| 国产一区二区中文字幕| 亚洲一区二三区| 国产精品伦一区| 激情综合五月婷婷| 亚洲午夜影视影院在线观看| 欧美日韩国产精品成人| 成人精品高清在线| 日韩av一区二区在线影视| 欧美精品色综合| 99re这里都是精品| 一区二区在线观看视频在线观看| 一本大道av伊人久久综合| 一区二区三区四区蜜桃| 中文字幕乱码久久午夜不卡| 不卡电影免费在线播放一区| 国产制服丝袜一区| 国产欧美日韩视频在线观看| 99久久久国产精品免费蜜臀| 亚洲综合一二区| 欧美一级日韩一级| 91成人在线观看喷潮| 日韩av一二三| 亚洲一二三专区| 国产精品久久久久久久久久免费看| 不卡的av中国片| 亚洲一区二区三区四区的| 91精品国产综合久久国产大片| 国产美女精品人人做人人爽| 日韩黄色小视频| 亚洲一区二区三区激情| 亚洲精品日产精品乱码不卡| 亚洲色图欧洲色图| 国产精品视频第一区| 一区二区成人在线观看| 亚洲精品少妇30p| 亚洲免费大片在线观看| 欧美午夜电影一区| 欧美性一二三区| 日本道精品一区二区三区| 色综合咪咪久久| 91美女在线视频| 紧缚奴在线一区二区三区| 精品一区二区免费在线观看| 国产一区欧美二区| 国产精品一区久久久久| 91蜜桃传媒精品久久久一区二区| 日本最新不卡在线| 国产乱对白刺激视频不卡|