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

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

?? xmltok.c

?? www工具包. 這是W3C官方支持的www支撐庫. 其中提供通用目的的客戶端的WebAPI: complete HTTP/1.1 (with caching, pipelining, PUT, POS
?? C
?? 第 1 頁 / 共 3 頁
字號:
/*The contents of this file are subject to the Mozilla Public LicenseVersion 1.1 (the "License"); you may not use this file except incompliance with the License. You may obtain a copy of the License athttp://www.mozilla.org/MPL/Software distributed under the License is distributed on an "AS IS"basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See theLicense for the specific language governing rights and limitationsunder the License.The Original Code is expat.The Initial Developer of the Original Code is James Clark.Portions created by James Clark are Copyright (C) 1998, 1999James Clark. All Rights Reserved.Contributor(s):Alternatively, the contents of this file may be used under the termsof the GNU General Public License (the "GPL"), in which case theprovisions of the GPL are applicable instead of those above.  If youwish to allow use of your version of this file only under the terms ofthe GPL and not to allow others to use your version of this file underthe MPL, indicate your decision by deleting the provisions above andreplace them with the notice and other provisions required by theGPL. If you do not delete the provisions above, a recipient may useyour version of this file under either the MPL or the GPL.*/#include "xmldef.h"#include "xmltok.h"#include "nametab.h"#ifdef XML_DTD#define IGNORE_SECTION_TOK_VTABLE , PREFIX(ignoreSectionTok)#else#define IGNORE_SECTION_TOK_VTABLE /* as nothing */#endif#define VTABLE1 \  { PREFIX(prologTok), PREFIX(contentTok), \    PREFIX(cdataSectionTok) IGNORE_SECTION_TOK_VTABLE }, \  { PREFIX(attributeValueTok), PREFIX(entityValueTok) }, \  PREFIX(sameName), \  PREFIX(nameMatchesAscii), \  PREFIX(nameLength), \  PREFIX(skipS), \  PREFIX(getAtts), \  PREFIX(charRefNumber), \  PREFIX(predefinedEntityName), \  PREFIX(updatePosition), \  PREFIX(isPublicId)#define VTABLE VTABLE1, PREFIX(toUtf8), PREFIX(toUtf16)#define UCS2_GET_NAMING(pages, hi, lo) \   (namingBitmap[(pages[hi] << 3) + ((lo) >> 5)] & (1 << ((lo) & 0x1F)))/* A 2 byte UTF-8 representation splits the characters 11 bitsbetween the bottom 5 and 6 bits of the bytes.We need 8 bits to index into pages, 3 bits to add to that index and5 bits to generate the mask. */#define UTF8_GET_NAMING2(pages, byte) \    (namingBitmap[((pages)[(((byte)[0]) >> 2) & 7] << 3) \                      + ((((byte)[0]) & 3) << 1) \                      + ((((byte)[1]) >> 5) & 1)] \         & (1 << (((byte)[1]) & 0x1F)))/* A 3 byte UTF-8 representation splits the characters 16 bitsbetween the bottom 4, 6 and 6 bits of the bytes.We need 8 bits to index into pages, 3 bits to add to that index and5 bits to generate the mask. */#define UTF8_GET_NAMING3(pages, byte) \  (namingBitmap[((pages)[((((byte)[0]) & 0xF) << 4) \                             + ((((byte)[1]) >> 2) & 0xF)] \		       << 3) \                      + ((((byte)[1]) & 3) << 1) \                      + ((((byte)[2]) >> 5) & 1)] \         & (1 << (((byte)[2]) & 0x1F)))#define UTF8_GET_NAMING(pages, p, n) \  ((n) == 2 \  ? UTF8_GET_NAMING2(pages, (const unsigned char *)(p)) \  : ((n) == 3 \     ? UTF8_GET_NAMING3(pages, (const unsigned char *)(p)) \     : 0))#define UTF8_INVALID3(p) \  ((*p) == 0xED \  ? (((p)[1] & 0x20) != 0) \  : ((*p) == 0xEF \     ? ((p)[1] == 0xBF && ((p)[2] == 0xBF || (p)[2] == 0xBE)) \     : 0))#define UTF8_INVALID4(p) ((*p) == 0xF4 && ((p)[1] & 0x30) != 0)staticint isNever(const ENCODING *enc, const char *p){  return 0;}staticint utf8_isName2(const ENCODING *enc, const char *p){  return UTF8_GET_NAMING2(namePages, (const unsigned char *)p);}staticint utf8_isName3(const ENCODING *enc, const char *p){  return UTF8_GET_NAMING3(namePages, (const unsigned char *)p);}#define utf8_isName4 isNeverstaticint utf8_isNmstrt2(const ENCODING *enc, const char *p){  return UTF8_GET_NAMING2(nmstrtPages, (const unsigned char *)p);}staticint utf8_isNmstrt3(const ENCODING *enc, const char *p){  return UTF8_GET_NAMING3(nmstrtPages, (const unsigned char *)p);}#define utf8_isNmstrt4 isNever#define utf8_isInvalid2 isNeverstaticint utf8_isInvalid3(const ENCODING *enc, const char *p){  return UTF8_INVALID3((const unsigned char *)p);}staticint utf8_isInvalid4(const ENCODING *enc, const char *p){  return UTF8_INVALID4((const unsigned char *)p);}struct normal_encoding {  ENCODING enc;  unsigned char type[256];#ifdef XML_MIN_SIZE  int (*byteType)(const ENCODING *, const char *);  int (*isNameMin)(const ENCODING *, const char *);  int (*isNmstrtMin)(const ENCODING *, const char *);  int (*byteToAscii)(const ENCODING *, const char *);  int (*charMatches)(const ENCODING *, const char *, int);#endif /* XML_MIN_SIZE */  int (*isName2)(const ENCODING *, const char *);  int (*isName3)(const ENCODING *, const char *);  int (*isName4)(const ENCODING *, const char *);  int (*isNmstrt2)(const ENCODING *, const char *);  int (*isNmstrt3)(const ENCODING *, const char *);  int (*isNmstrt4)(const ENCODING *, const char *);  int (*isInvalid2)(const ENCODING *, const char *);  int (*isInvalid3)(const ENCODING *, const char *);  int (*isInvalid4)(const ENCODING *, const char *);};#ifdef XML_MIN_SIZE#define STANDARD_VTABLE(E) \ E ## byteType, \ E ## isNameMin, \ E ## isNmstrtMin, \ E ## byteToAscii, \ E ## charMatches,#else#define STANDARD_VTABLE(E) /* as nothing */#endif#define NORMAL_VTABLE(E) \ E ## isName2, \ E ## isName3, \ E ## isName4, \ E ## isNmstrt2, \ E ## isNmstrt3, \ E ## isNmstrt4, \ E ## isInvalid2, \ E ## isInvalid3, \ E ## isInvalid4static int checkCharRefNumber(int);#include "xmltok_impl.h"#include "ascii.h"#ifdef XML_MIN_SIZE#define sb_isNameMin isNever#define sb_isNmstrtMin isNever#endif#ifdef XML_MIN_SIZE#define MINBPC(enc) ((enc)->minBytesPerChar)#else/* minimum bytes per character */#define MINBPC(enc) 1#endif#define SB_BYTE_TYPE(enc, p) \  (((struct normal_encoding *)(enc))->type[(unsigned char)*(p)])#ifdef XML_MIN_SIZEstaticint sb_byteType(const ENCODING *enc, const char *p){  return SB_BYTE_TYPE(enc, p);}#define BYTE_TYPE(enc, p) \ (((const struct normal_encoding *)(enc))->byteType(enc, p))#else#define BYTE_TYPE(enc, p) SB_BYTE_TYPE(enc, p)#endif#ifdef XML_MIN_SIZE#define BYTE_TO_ASCII(enc, p) \ (((const struct normal_encoding *)(enc))->byteToAscii(enc, p))staticint sb_byteToAscii(const ENCODING *enc, const char *p){  return *p;}#else#define BYTE_TO_ASCII(enc, p) (*(p))#endif#define IS_NAME_CHAR(enc, p, n) \ (((const struct normal_encoding *)(enc))->isName ## n(enc, p))#define IS_NMSTRT_CHAR(enc, p, n) \ (((const struct normal_encoding *)(enc))->isNmstrt ## n(enc, p))#define IS_INVALID_CHAR(enc, p, n) \ (((const struct normal_encoding *)(enc))->isInvalid ## n(enc, p))#ifdef XML_MIN_SIZE#define IS_NAME_CHAR_MINBPC(enc, p) \ (((const struct normal_encoding *)(enc))->isNameMin(enc, p))#define IS_NMSTRT_CHAR_MINBPC(enc, p) \ (((const struct normal_encoding *)(enc))->isNmstrtMin(enc, p))#else#define IS_NAME_CHAR_MINBPC(enc, p) (0)#define IS_NMSTRT_CHAR_MINBPC(enc, p) (0)#endif#ifdef XML_MIN_SIZE#define CHAR_MATCHES(enc, p, c) \ (((const struct normal_encoding *)(enc))->charMatches(enc, p, c))staticint sb_charMatches(const ENCODING *enc, const char *p, int c){  return *p == c;}#else/* c is an ASCII character */#define CHAR_MATCHES(enc, p, c) (*(p) == c)#endif#define PREFIX(ident) normal_ ## ident#include "xmltok_impl.c"#undef MINBPC#undef BYTE_TYPE#undef BYTE_TO_ASCII#undef CHAR_MATCHES#undef IS_NAME_CHAR#undef IS_NAME_CHAR_MINBPC#undef IS_NMSTRT_CHAR#undef IS_NMSTRT_CHAR_MINBPC#undef IS_INVALID_CHARenum {  /* UTF8_cvalN is value of masked first byte of N byte sequence */  UTF8_cval1 = 0x00,  UTF8_cval2 = 0xc0,  UTF8_cval3 = 0xe0,  UTF8_cval4 = 0xf0};staticvoid utf8_toUtf8(const ENCODING *enc,		 const char **fromP, const char *fromLim,		 char **toP, const char *toLim){  char *to;  const char *from;  if (fromLim - *fromP > toLim - *toP) {    /* Avoid copying partial characters. */    for (fromLim = *fromP + (toLim - *toP); fromLim > *fromP; fromLim--)      if (((unsigned char)fromLim[-1] & 0xc0) != 0x80)	break;  }  for (to = *toP, from = *fromP; from != fromLim; from++, to++)    *to = *from;  *fromP = from;  *toP = to;}staticvoid utf8_toUtf16(const ENCODING *enc,		  const char **fromP, const char *fromLim,		  unsigned short **toP, const unsigned short *toLim){  unsigned short *to = *toP;  const char *from = *fromP;  while (from != fromLim && to != toLim) {    switch (((struct normal_encoding *)enc)->type[(unsigned char)*from]) {    case BT_LEAD2:      *to++ = ((from[0] & 0x1f) << 6) | (from[1] & 0x3f);      from += 2;      break;    case BT_LEAD3:      *to++ = ((from[0] & 0xf) << 12) | ((from[1] & 0x3f) << 6) | (from[2] & 0x3f);      from += 3;      break;    case BT_LEAD4:      {	unsigned long n;	if (to + 1 == toLim)	  break;	n = ((from[0] & 0x7) << 18) | ((from[1] & 0x3f) << 12) | ((from[2] & 0x3f) << 6) | (from[3] & 0x3f);	n -= 0x10000;	to[0] = (unsigned short)((n >> 10) | 0xD800);	to[1] = (unsigned short)((n & 0x3FF) | 0xDC00);	to += 2;	from += 4;      }      break;    default:      *to++ = *from++;      break;    }  }  *fromP = from;  *toP = to;}#ifdef XML_NSstatic const struct normal_encoding utf8_encoding_ns = {  { VTABLE1, utf8_toUtf8, utf8_toUtf16, 1, 1, 0 },  {#include "asciitab.h"#include "utf8tab.h"  },  STANDARD_VTABLE(sb_) NORMAL_VTABLE(utf8_)};#endifstatic const struct normal_encoding utf8_encoding = {  { VTABLE1, utf8_toUtf8, utf8_toUtf16, 1, 1, 0 },  {#define BT_COLON BT_NMSTRT#include "asciitab.h"#undef BT_COLON#include "utf8tab.h"  },  STANDARD_VTABLE(sb_) NORMAL_VTABLE(utf8_)};#ifdef XML_NSstatic const struct normal_encoding internal_utf8_encoding_ns = {  { VTABLE1, utf8_toUtf8, utf8_toUtf16, 1, 1, 0 },  {#include "iasciitab.h"#include "utf8tab.h"  },  STANDARD_VTABLE(sb_) NORMAL_VTABLE(utf8_)};#endifstatic const struct normal_encoding internal_utf8_encoding = {  { VTABLE1, utf8_toUtf8, utf8_toUtf16, 1, 1, 0 },  {#define BT_COLON BT_NMSTRT#include "iasciitab.h"#undef BT_COLON#include "utf8tab.h"  },  STANDARD_VTABLE(sb_) NORMAL_VTABLE(utf8_)};staticvoid latin1_toUtf8(const ENCODING *enc,		   const char **fromP, const char *fromLim,		   char **toP, const char *toLim){  for (;;) {    unsigned char c;    if (*fromP == fromLim)      break;    c = (unsigned char)**fromP;    if (c & 0x80) {      if (toLim - *toP < 2)	break;      *(*toP)++ = ((c >> 6) | UTF8_cval2);      *(*toP)++ = ((c & 0x3f) | 0x80);      (*fromP)++;    }    else {      if (*toP == toLim)	break;      *(*toP)++ = *(*fromP)++;    }  }}staticvoid latin1_toUtf16(const ENCODING *enc,		    const char **fromP, const char *fromLim,		    unsigned short **toP, const unsigned short *toLim){  while (*fromP != fromLim && *toP != toLim)    *(*toP)++ = (unsigned char)*(*fromP)++;}#ifdef XML_NSstatic const struct normal_encoding latin1_encoding_ns = {  { VTABLE1, latin1_toUtf8, latin1_toUtf16, 1, 0, 0 },  {#include "asciitab.h"#include "latin1tab.h"  },  STANDARD_VTABLE(sb_)};#endifstatic const struct normal_encoding latin1_encoding = {  { VTABLE1, latin1_toUtf8, latin1_toUtf16, 1, 0, 0 },  {#define BT_COLON BT_NMSTRT#include "asciitab.h"#undef BT_COLON#include "latin1tab.h"  },  STANDARD_VTABLE(sb_)};staticvoid ascii_toUtf8(const ENCODING *enc,		  const char **fromP, const char *fromLim,		  char **toP, const char *toLim){  while (*fromP != fromLim && *toP != toLim)    *(*toP)++ = *(*fromP)++;}#ifdef XML_NSstatic const struct normal_encoding ascii_encoding_ns = {  { VTABLE1, ascii_toUtf8, latin1_toUtf16, 1, 1, 0 },  {#include "asciitab.h"/* BT_NONXML == 0 */  },  STANDARD_VTABLE(sb_)};#endifstatic const struct normal_encoding ascii_encoding = {  { VTABLE1, ascii_toUtf8, latin1_toUtf16, 1, 1, 0 },  {#define BT_COLON BT_NMSTRT#include "asciitab.h"#undef BT_COLON/* BT_NONXML == 0 */  },  STANDARD_VTABLE(sb_)};static int unicode_byte_type(char hi, char lo){  switch ((unsigned char)hi) {  case 0xD8: case 0xD9: case 0xDA: case 0xDB:    return BT_LEAD4;  case 0xDC: case 0xDD: case 0xDE: case 0xDF:    return BT_TRAIL;  case 0xFF:    switch ((unsigned char)lo) {    case 0xFF:    case 0xFE:      return BT_NONXML;    }    break;  }  return BT_NONASCII;}#define DEFINE_UTF16_TO_UTF8(E) \static \void E ## toUtf8(const ENCODING *enc, \		 const char **fromP, const char *fromLim, \		 char **toP, const char *toLim) \{ \  const char *from; \  for (from = *fromP; from != fromLim; from += 2) { \    int plane; \    unsigned char lo2; \    unsigned char lo = GET_LO(from); \    unsigned char hi = GET_HI(from); \    switch (hi) { \    case 0: \      if (lo < 0x80) { \        if (*toP == toLim) { \          *fromP = from; \	  return; \        } \        *(*toP)++ = lo; \        break; \      } \      /* fall through */ \    case 0x1: case 0x2: case 0x3: \    case 0x4: case 0x5: case 0x6: case 0x7: \      if (toLim -  *toP < 2) { \        *fromP = from; \	return; \      } \

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
**欧美大码日韩| 亚洲免费av高清| 亚洲欧美另类久久久精品| 日韩电影在线免费| 成人三级在线视频| 日韩视频免费观看高清完整版 | 亚洲综合一区在线| 国产精品18久久久久久久久| 在线日韩国产精品| 国产精品入口麻豆九色| 毛片av中文字幕一区二区| 91免费看`日韩一区二区| 精品国产乱码91久久久久久网站| 亚洲图片自拍偷拍| k8久久久一区二区三区| 26uuu亚洲综合色欧美| 午夜精品在线看| 日本丶国产丶欧美色综合| 国产免费观看久久| 国产乱色国产精品免费视频| 欧美成人在线直播| 日韩不卡一区二区三区| 色欧美片视频在线观看| 亚洲日本va在线观看| 成人动漫视频在线| 国产欧美一区视频| 国产精品一区二区三区乱码| 欧美精品一区二区高清在线观看| 日本vs亚洲vs韩国一区三区二区| 欧美这里有精品| 亚洲一区二区在线免费观看视频| 一本色道久久综合狠狠躁的推荐| 中文字幕在线一区免费| 成人激情小说网站| 国产精品成人免费精品自在线观看| 国产在线视频一区二区三区| 久久天堂av综合合色蜜桃网| 激情综合亚洲精品| 久久久久97国产精华液好用吗| 韩国av一区二区| 久久久蜜桃精品| 成人美女视频在线观看18| 亚洲国产精品黑人久久久| 成人精品一区二区三区四区| 国产精品福利在线播放| 色诱亚洲精品久久久久久| 亚洲伊人色欲综合网| 欧美人伦禁忌dvd放荡欲情| 婷婷六月综合网| 日韩欧美黄色影院| 国产成人在线免费| 亚洲人一二三区| 欧美午夜在线观看| 免费久久99精品国产| 欧美电影精品一区二区| 成人午夜视频在线| 亚洲国产wwwccc36天堂| 欧美不卡视频一区| 成人av网站免费观看| 国产自产高清不卡| 久久影院午夜片一区| 成人一级片在线观看| 亚洲一区二区在线观看视频| 欧美成人在线直播| av一本久道久久综合久久鬼色| 亚洲一区二区三区视频在线播放| 欧美第一区第二区| 91视频在线观看免费| 日韩高清欧美激情| 中文在线免费一区三区高中清不卡| 色综合久久久久| 精品一区二区三区在线播放| ...中文天堂在线一区| 欧美一区在线视频| av激情综合网| 久久成人免费日本黄色| 国产精品久久久久天堂| 337p亚洲精品色噜噜噜| 成人午夜视频网站| 麻豆精品新av中文字幕| 亚洲黄色小说网站| 国产日韩精品久久久| 欧美人与禽zozo性伦| www.欧美色图| 久久99热国产| 一区二区三区波多野结衣在线观看| 精品久久人人做人人爽| 欧洲日韩一区二区三区| 粉嫩aⅴ一区二区三区四区| 蜜桃久久久久久久| 亚洲香蕉伊在人在线观| 国产精品乱码人人做人人爱| 精品人伦一区二区色婷婷| 欧美在线色视频| 99久久国产综合精品女不卡| 国产一区二区三区久久久| 日韩精品电影一区亚洲| 亚洲男人的天堂av| 久久久久久久电影| 欧美成人一级视频| 欧美精品18+| 欧美色图12p| 在线精品国精品国产尤物884a| 成人av在线一区二区| 丁香六月综合激情| 国内国产精品久久| 久久99久国产精品黄毛片色诱| 亚洲丰满少妇videoshd| 一区二区三区在线免费视频 | 91精品国产免费| 欧美日韩一区久久| 欧美日韩精品专区| 欧美伊人久久久久久久久影院| 91日韩一区二区三区| 99久久久免费精品国产一区二区| 国产不卡视频在线播放| 国产福利不卡视频| 国产成人精品网址| 成人免费视频一区| 91亚洲大成网污www| av欧美精品.com| 91国产丝袜在线播放| 色94色欧美sute亚洲线路二| 色呦呦国产精品| 欧美日韩一级大片网址| 国产精品麻豆久久久| 国产精品久久久久久久久搜平片| 亚洲国产精品成人综合| 国产精品国产成人国产三级| 一区二区三区四区不卡视频| 亚洲一区在线观看视频| 日韩精品电影一区亚洲| 国产一区二区三区观看| www.日韩在线| 91行情网站电视在线观看高清版| 欧美美女视频在线观看| 日韩视频一区二区在线观看| 久久久久一区二区三区四区| 1000精品久久久久久久久| 亚洲影视在线观看| 久久福利资源站| 国产成人精品一区二| 在线看日韩精品电影| 欧美老女人第四色| 久久久久成人黄色影片| 亚洲精选视频免费看| 日韩精品亚洲专区| 国产成人免费高清| 欧洲色大大久久| 久久综合九色综合97婷婷| 专区另类欧美日韩| 日本在线不卡视频| 成人免费视频一区二区| 3d动漫精品啪啪一区二区竹菊| 久久久久久久久久久久久女国产乱 | 一区二区三区在线观看国产| 秋霞电影一区二区| 丁香六月综合激情| 欧美一级黄色大片| 亚洲欧洲日韩在线| 久久精品国产77777蜜臀| 99视频精品免费视频| 精品少妇一区二区三区免费观看 | 不卡视频一二三| 欧美午夜精品电影| 久久精品人人做人人爽97| 一区二区三区四区高清精品免费观看 | 激情丁香综合五月| 日本精品视频一区二区| 久久免费精品国产久精品久久久久| 亚洲日本电影在线| 国产高清不卡一区| 欧美精品久久久久久久久老牛影院| 国产日韩欧美激情| 久久精品国产99久久6| 欧美日韩欧美一区二区| 亚洲丝袜精品丝袜在线| 国产91在线|亚洲| 精品欧美一区二区在线观看| 偷拍亚洲欧洲综合| 91福利在线免费观看| 中文字幕日本不卡| 国内不卡的二区三区中文字幕| 欧美日本免费一区二区三区| 中文字幕视频一区| 成人激情av网| 国产日韩亚洲欧美综合| 久久国产精品免费| 6080yy午夜一二三区久久| 亚洲一区二区在线免费看| 色综合久久久久久久久| 国产精品久久精品日日| 国产69精品久久久久毛片 | 国产精品天美传媒| 国产美女av一区二区三区| 日韩精品影音先锋| 久久av老司机精品网站导航| 欧美一区二区三区四区高清| 日韩精品电影在线| 日韩你懂的在线播放|