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

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

?? encoding.c.svn-base

?? 這是一個用于解析xml文件的類庫。使用這個類庫
?? SVN-BASE
?? 第 1 頁 / 共 5 頁
字號:
    int i;    if (xmlCharEncodingAliases == NULL)	return;    for (i = 0;i < xmlCharEncodingAliasesNb;i++) {	if (xmlCharEncodingAliases[i].name != NULL)	    xmlFree((char *) xmlCharEncodingAliases[i].name);	if (xmlCharEncodingAliases[i].alias != NULL)	    xmlFree((char *) xmlCharEncodingAliases[i].alias);    }    xmlCharEncodingAliasesNb = 0;    xmlCharEncodingAliasesMax = 0;    xmlFree(xmlCharEncodingAliases);    xmlCharEncodingAliases = NULL;}/** * xmlGetEncodingAlias: * @alias:  the alias name as parsed, in UTF-8 format (ASCII actually) * * Lookup an encoding name for the given alias. *  * Returns NULL if not found, otherwise the original name */const char *xmlGetEncodingAlias(const char *alias) {    int i;    char upper[100];    if (alias == NULL)	return(NULL);    if (xmlCharEncodingAliases == NULL)	return(NULL);    for (i = 0;i < 99;i++) {        upper[i] = toupper(alias[i]);	if (upper[i] == 0) break;    }    upper[i] = 0;    /*     * Walk down the list looking for a definition of the alias     */    for (i = 0;i < xmlCharEncodingAliasesNb;i++) {	if (!strcmp(xmlCharEncodingAliases[i].alias, upper)) {	    return(xmlCharEncodingAliases[i].name);	}    }    return(NULL);}/** * xmlAddEncodingAlias: * @name:  the encoding name as parsed, in UTF-8 format (ASCII actually) * @alias:  the alias name as parsed, in UTF-8 format (ASCII actually) * * Registers an alias @alias for an encoding named @name. Existing alias * will be overwritten. *  * Returns 0 in case of success, -1 in case of error */intxmlAddEncodingAlias(const char *name, const char *alias) {    int i;    char upper[100];    if ((name == NULL) || (alias == NULL))	return(-1);    for (i = 0;i < 99;i++) {        upper[i] = toupper(alias[i]);	if (upper[i] == 0) break;    }    upper[i] = 0;    if (xmlCharEncodingAliases == NULL) {	xmlCharEncodingAliasesNb = 0;	xmlCharEncodingAliasesMax = 20;	xmlCharEncodingAliases = (xmlCharEncodingAliasPtr) 	      xmlMalloc(xmlCharEncodingAliasesMax * sizeof(xmlCharEncodingAlias));	if (xmlCharEncodingAliases == NULL)	    return(-1);    } else if (xmlCharEncodingAliasesNb >= xmlCharEncodingAliasesMax) {	xmlCharEncodingAliasesMax *= 2;	xmlCharEncodingAliases = (xmlCharEncodingAliasPtr) 	      xmlRealloc(xmlCharEncodingAliases,		         xmlCharEncodingAliasesMax * sizeof(xmlCharEncodingAlias));    }    /*     * Walk down the list looking for a definition of the alias     */    for (i = 0;i < xmlCharEncodingAliasesNb;i++) {	if (!strcmp(xmlCharEncodingAliases[i].alias, upper)) {	    /*	     * Replace the definition.	     */	    xmlFree((char *) xmlCharEncodingAliases[i].name);	    xmlCharEncodingAliases[i].name = xmlMemStrdup(name);	    return(0);	}    }    /*     * Add the definition     */    xmlCharEncodingAliases[xmlCharEncodingAliasesNb].name = xmlMemStrdup(name);    xmlCharEncodingAliases[xmlCharEncodingAliasesNb].alias = xmlMemStrdup(upper);    xmlCharEncodingAliasesNb++;    return(0);}/** * xmlDelEncodingAlias: * @alias:  the alias name as parsed, in UTF-8 format (ASCII actually) * * Unregisters an encoding alias @alias *  * Returns 0 in case of success, -1 in case of error */intxmlDelEncodingAlias(const char *alias) {    int i;    if (alias == NULL)	return(-1);    if (xmlCharEncodingAliases == NULL)	return(-1);    /*     * Walk down the list looking for a definition of the alias     */    for (i = 0;i < xmlCharEncodingAliasesNb;i++) {	if (!strcmp(xmlCharEncodingAliases[i].alias, alias)) {	    xmlFree((char *) xmlCharEncodingAliases[i].name);	    xmlFree((char *) xmlCharEncodingAliases[i].alias);	    xmlCharEncodingAliasesNb--;	    memmove(&xmlCharEncodingAliases[i], &xmlCharEncodingAliases[i + 1],		    sizeof(xmlCharEncodingAlias) * (xmlCharEncodingAliasesNb - i));	    return(0);	}    }    return(-1);}/** * xmlParseCharEncoding: * @name:  the encoding name as parsed, in UTF-8 format (ASCII actually) * * Compare the string to the encoding schemes already known. Note * that the comparison is case insensitive accordingly to the section * [XML] 4.3.3 Character Encoding in Entities. *  * Returns one of the XML_CHAR_ENCODING_... values or XML_CHAR_ENCODING_NONE * if not recognized. */xmlCharEncodingxmlParseCharEncoding(const char* name){    const char *alias;    char upper[500];    int i;    if (name == NULL)	return(XML_CHAR_ENCODING_NONE);    /*     * Do the alias resolution     */    alias = xmlGetEncodingAlias(name);    if (alias != NULL)	name = alias;    for (i = 0;i < 499;i++) {        upper[i] = toupper(name[i]);	if (upper[i] == 0) break;    }    upper[i] = 0;    if (!strcmp(upper, "")) return(XML_CHAR_ENCODING_NONE);    if (!strcmp(upper, "UTF-8")) return(XML_CHAR_ENCODING_UTF8);    if (!strcmp(upper, "UTF8")) return(XML_CHAR_ENCODING_UTF8);    /*     * NOTE: if we were able to parse this, the endianness of UTF16 is     *       already found and in use     */    if (!strcmp(upper, "UTF-16")) return(XML_CHAR_ENCODING_UTF16LE);    if (!strcmp(upper, "UTF16")) return(XML_CHAR_ENCODING_UTF16LE);        if (!strcmp(upper, "ISO-10646-UCS-2")) return(XML_CHAR_ENCODING_UCS2);    if (!strcmp(upper, "UCS-2")) return(XML_CHAR_ENCODING_UCS2);    if (!strcmp(upper, "UCS2")) return(XML_CHAR_ENCODING_UCS2);    /*     * NOTE: if we were able to parse this, the endianness of UCS4 is     *       already found and in use     */    if (!strcmp(upper, "ISO-10646-UCS-4")) return(XML_CHAR_ENCODING_UCS4LE);    if (!strcmp(upper, "UCS-4")) return(XML_CHAR_ENCODING_UCS4LE);    if (!strcmp(upper, "UCS4")) return(XML_CHAR_ENCODING_UCS4LE);        if (!strcmp(upper,  "ISO-8859-1")) return(XML_CHAR_ENCODING_8859_1);    if (!strcmp(upper,  "ISO-LATIN-1")) return(XML_CHAR_ENCODING_8859_1);    if (!strcmp(upper,  "ISO LATIN 1")) return(XML_CHAR_ENCODING_8859_1);    if (!strcmp(upper,  "ISO-8859-2")) return(XML_CHAR_ENCODING_8859_2);    if (!strcmp(upper,  "ISO-LATIN-2")) return(XML_CHAR_ENCODING_8859_2);    if (!strcmp(upper,  "ISO LATIN 2")) return(XML_CHAR_ENCODING_8859_2);    if (!strcmp(upper,  "ISO-8859-3")) return(XML_CHAR_ENCODING_8859_3);    if (!strcmp(upper,  "ISO-8859-4")) return(XML_CHAR_ENCODING_8859_4);    if (!strcmp(upper,  "ISO-8859-5")) return(XML_CHAR_ENCODING_8859_5);    if (!strcmp(upper,  "ISO-8859-6")) return(XML_CHAR_ENCODING_8859_6);    if (!strcmp(upper,  "ISO-8859-7")) return(XML_CHAR_ENCODING_8859_7);    if (!strcmp(upper,  "ISO-8859-8")) return(XML_CHAR_ENCODING_8859_8);    if (!strcmp(upper,  "ISO-8859-9")) return(XML_CHAR_ENCODING_8859_9);    if (!strcmp(upper, "ISO-2022-JP")) return(XML_CHAR_ENCODING_2022_JP);    if (!strcmp(upper, "SHIFT_JIS")) return(XML_CHAR_ENCODING_SHIFT_JIS);    if (!strcmp(upper, "EUC-JP")) return(XML_CHAR_ENCODING_EUC_JP);#ifdef DEBUG_ENCODING    xmlGenericError(xmlGenericErrorContext, "Unknown encoding %s\n", name);#endif    return(XML_CHAR_ENCODING_ERROR);}/** * xmlGetCharEncodingName: * @enc:  the encoding * * The "canonical" name for XML encoding. * C.f. http://www.w3.org/TR/REC-xml#charencoding * Section 4.3.3  Character Encoding in Entities * * Returns the canonical name for the given encoding */const char*xmlGetCharEncodingName(xmlCharEncoding enc) {    switch (enc) {        case XML_CHAR_ENCODING_ERROR:	    return(NULL);        case XML_CHAR_ENCODING_NONE:	    return(NULL);        case XML_CHAR_ENCODING_UTF8:	    return("UTF-8");        case XML_CHAR_ENCODING_UTF16LE:	    return("UTF-16");        case XML_CHAR_ENCODING_UTF16BE:	    return("UTF-16");        case XML_CHAR_ENCODING_EBCDIC:            return("EBCDIC");        case XML_CHAR_ENCODING_UCS4LE:            return("ISO-10646-UCS-4");        case XML_CHAR_ENCODING_UCS4BE:            return("ISO-10646-UCS-4");        case XML_CHAR_ENCODING_UCS4_2143:            return("ISO-10646-UCS-4");        case XML_CHAR_ENCODING_UCS4_3412:            return("ISO-10646-UCS-4");        case XML_CHAR_ENCODING_UCS2:            return("ISO-10646-UCS-2");        case XML_CHAR_ENCODING_8859_1:	    return("ISO-8859-1");        case XML_CHAR_ENCODING_8859_2:	    return("ISO-8859-2");        case XML_CHAR_ENCODING_8859_3:	    return("ISO-8859-3");        case XML_CHAR_ENCODING_8859_4:	    return("ISO-8859-4");        case XML_CHAR_ENCODING_8859_5:	    return("ISO-8859-5");        case XML_CHAR_ENCODING_8859_6:	    return("ISO-8859-6");        case XML_CHAR_ENCODING_8859_7:	    return("ISO-8859-7");        case XML_CHAR_ENCODING_8859_8:	    return("ISO-8859-8");        case XML_CHAR_ENCODING_8859_9:	    return("ISO-8859-9");        case XML_CHAR_ENCODING_2022_JP:            return("ISO-2022-JP");        case XML_CHAR_ENCODING_SHIFT_JIS:            return("Shift-JIS");        case XML_CHAR_ENCODING_EUC_JP:            return("EUC-JP");	case XML_CHAR_ENCODING_ASCII:	    return(NULL);    }    return(NULL);}/************************************************************************ *									* *			Char encoding handlers				* *									* ************************************************************************//* the size should be growable, but it's not a big deal ... */#define MAX_ENCODING_HANDLERS 50static xmlCharEncodingHandlerPtr *handlers = NULL;static int nbCharEncodingHandler = 0;/* * The default is UTF-8 for XML, that's also the default used for the * parser internals, so the default encoding handler is NULL */static xmlCharEncodingHandlerPtr xmlDefaultCharEncodingHandler = NULL;/** * xmlNewCharEncodingHandler: * @name:  the encoding name, in UTF-8 format (ASCII actually) * @input:  the xmlCharEncodingInputFunc to read that encoding * @output:  the xmlCharEncodingOutputFunc to write that encoding * * Create and registers an xmlCharEncodingHandler. * * Returns the xmlCharEncodingHandlerPtr created (or NULL in case of error). */xmlCharEncodingHandlerPtrxmlNewCharEncodingHandler(const char *name,                           xmlCharEncodingInputFunc input,                          xmlCharEncodingOutputFunc output) {    xmlCharEncodingHandlerPtr handler;    const char *alias;    char upper[500];    int i;    char *up = 0;    /*     * Do the alias resolution     */    alias = xmlGetEncodingAlias(name);    if (alias != NULL)	name = alias;    /*     * Keep only the uppercase version of the encoding.     */    if (name == NULL) {        xmlGenericError(xmlGenericErrorContext,		"xmlNewCharEncodingHandler : no name !\n");	return(NULL);    }    for (i = 0;i < 499;i++) {        upper[i] = toupper(name[i]);	if (upper[i] == 0) break;    }    upper[i] = 0;    up = xmlMemStrdup(upper);    if (up == NULL) {        xmlGenericError(xmlGenericErrorContext,		"xmlNewCharEncodingHandler : out of memory !\n");	return(NULL);    }    /*     * allocate and fill-up an handler block.     */    handler = (xmlCharEncodingHandlerPtr)              xmlMalloc(sizeof(xmlCharEncodingHandler));    if (handler == NULL) {        xmlGenericError(xmlGenericErrorContext,		"xmlNewCharEncodingHandler : out of memory !\n");	return(NULL);    }    handler->input = input;    handler->output = output;    handler->name = up;#ifdef LIBXML_ICONV_ENABLED    handler->iconv_in = NULL;    handler->iconv_out = NULL;#endif /* LIBXML_ICONV_ENABLED */    /*     * registers and returns the handler.     */    xmlRegisterCharEncodingHandler(handler);#ifdef DEBUG_ENCODING    xmlGenericError(xmlGenericErrorContext,	    "Registered encoding handler for %s\n", name);#endif    return(handler);}/** * xmlInitCharEncodingHandlers: * * Initialize the char encoding support, it registers the default * encoding supported. * NOTE: while public, this function usually doesn't need to be called *       in normal processing. */voidxmlInitCharEncodingHandlers(void) {    unsigned short int tst = 0x1234;    unsigned char *ptr = (unsigned char *) &tst;     if (handlers != NULL) return;    handlers = (xmlCharEncodingHandlerPtr *)        xmlMalloc(MAX_ENCODING_HANDLERS * sizeof(xmlCharEncodingHandlerPtr));    if (*ptr == 0x12) xmlLittleEndian = 0;    else if (*ptr == 0x34) xmlLittleEndian = 1;    else xmlGenericError(xmlGenericErrorContext,	    "Odd problem at endianness detection\n");    if (handlers == NULL) {        xmlGenericError(xmlGenericErrorContext,		"xmlInitCharEncodingHandlers : out of memory !\n");	return;    }    xmlNewCharEncodingHandler("UTF-8", UTF8ToUTF8, UTF8ToUTF8);#ifdef LIBXML_OUTPUT_ENABLED    xmlUTF16LEHandler =           xmlNewCharEncodingHandler("UTF-16LE", UTF16LEToUTF8, UTF8ToUTF16LE);    xmlUTF16BEHandler =           xmlNewCharEncodingHandler("UTF-16BE", UTF16BEToUTF8, UTF8ToUTF16BE);    xmlNewCharEncodingHandler("UTF-16", UTF16LEToUTF8, UTF8ToUTF16);    xmlNewCharEncodingHandler("ISO-8859-1", isolat1ToUTF8, UTF8Toisolat1);    xmlNewCharEncodingHandler("ASCII", asciiToUTF8, UTF8Toascii);    xmlNewCharEncodingHandler("US-ASCII", asciiToUTF8, UTF8Toascii);#ifdef LIBXML_HTML_ENABLED    xmlNewCharEncodingHandler("HTML", NULL, UTF8ToHtml);#endif#else    xmlUTF16LEHandler =           xmlNewCharEncodingHandler("UTF-16LE", UTF16LEToUTF8, NULL);    xmlUTF16BEHandler =           xmlNewCharEncodingHandler("UTF-16BE", UTF16BEToUTF8, NULL);    xmlNewCharEncodingHandler("UTF-16", UTF16LEToUTF8, NULL);    xmlNewCharEncodingHandler("ISO-8859-1", isolat1ToUTF8, NULL);    xmlNewCharEncodingHandler("ASCII", asciiToUTF8, NULL);    xmlNewCharEncodingHandler("US-ASCII", asciiToUTF8, NULL);#endif /* LIBXML_OUTPUT_ENABLED */#ifndef LIBXML_ICONV_ENABLED#ifdef LIBXML_ISO8859X_ENABLED    xmlRegisterCharEncodingHandlersISO8859x ();#endif#endif}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品少妇一区二区三区视频免付费 | 懂色av一区二区在线播放| 99这里都是精品| 欧美一级二级在线观看| 成人性视频免费网站| 免费在线观看视频一区| 欧美激情一区二区三区不卡| 欧美日韩在线播放| 成人爱爱电影网址| 激情欧美一区二区| 久久66热偷产精品| 一区二区三区欧美在线观看| 成人免费毛片嘿嘿连载视频| 亚洲一区二区三区视频在线播放| 另类欧美日韩国产在线| 91国产免费观看| 国产精品久久一卡二卡| 美女性感视频久久| 欧美亚洲一区二区三区四区| 日韩美女精品在线| 暴力调教一区二区三区| 97se亚洲国产综合自在线观| 亚洲激情男女视频| 亚洲精品一二三四区| 午夜精品久久一牛影视| 免费成人你懂的| 久久99国产精品免费网站| 丝袜诱惑制服诱惑色一区在线观看| 亚洲与欧洲av电影| 日本sm残虐另类| 国产成人av电影| 日本一区二区三区四区| 亚洲精品久久7777| 久久久亚洲综合| 欧美日本在线看| 91色九色蝌蚪| 成人在线一区二区三区| 久久99国产精品成人| 一区二区三区中文在线观看| 国产精品日产欧美久久久久| 日本韩国欧美在线| 国产一区三区三区| 欧美日韩国产影片| 亚洲亚洲人成综合网络| 日本韩国精品在线| 福利91精品一区二区三区| 亚洲精品一区二区三区福利| 韩国视频一区二区| 国产欧美精品国产国产专区| 日本系列欧美系列| 亚洲第一福利一区| 欧美日韩一区二区三区四区五区| 亚洲精品成人少妇| 久久精品亚洲精品国产欧美| 午夜av区久久| 国产精品一区一区三区| 在线观看免费成人| 国产精品国产a级| 精品视频一区二区不卡| 亚洲国产一区二区在线播放| 日韩欧美精品在线| 国产精品一卡二卡在线观看| 国产欧美精品国产国产专区| 777a∨成人精品桃花网| 久久精品国产免费| 东方aⅴ免费观看久久av| 国产精品色一区二区三区| 亚洲成人精品一区二区| 中文字幕乱码日本亚洲一区二区| 欧美一区二区在线视频| 久久国产精品一区二区| 成人小视频免费在线观看| 99re热这里只有精品视频| 欧美日韩日日夜夜| xnxx国产精品| 成人免费视频视频| 午夜成人免费视频| 奇米888四色在线精品| 成人激情黄色小说| 国内精品伊人久久久久影院对白| 亚洲人成在线播放网站岛国| 日韩视频一区二区三区| 欧美无砖砖区免费| 99久久精品免费看国产免费软件| 国产99久久久精品| 轻轻草成人在线| 337p亚洲精品色噜噜狠狠| 99re热这里只有精品视频| 国产成人亚洲综合a∨婷婷| 国产一区二区女| 亚洲欧美乱综合| 欧美日韩国产一二三| 国产精品久久精品日日| 国产一区视频在线看| 日韩一级免费观看| 视频一区国产视频| 欧美色成人综合| 亚洲电影中文字幕在线观看| 91在线看国产| 中文字幕日韩av资源站| 欧美午夜影院一区| 欧美成人艳星乳罩| 国产日韩欧美麻豆| 国产精品每日更新在线播放网址| 亚洲国产精品二十页| 亚洲视频一二三区| 日本人妖一区二区| 盗摄精品av一区二区三区| 99re这里都是精品| 午夜精品久久久| 国产精品996| 在线一区二区观看| 国产欧美精品区一区二区三区 | 一区二区在线观看免费| 欧美午夜影院一区| 日日摸夜夜添夜夜添精品视频| 国产精品1024| 久久久蜜臀国产一区二区| 国内外成人在线| 国产精品麻豆久久久| 91精品国产乱| 成人午夜激情在线| 一本到三区不卡视频| 精品久久久久久久久久久久久久久久久| 国产精品久久久久精k8| 久久草av在线| 欧美一区二区久久久| 一区二区三区精品视频| 成人黄色一级视频| 国产亚洲成av人在线观看导航| 欧美aaa在线| 欧美久久免费观看| 亚洲成人激情自拍| 91蝌蚪国产九色| 一色屋精品亚洲香蕉网站| 成人h动漫精品一区二区| 国产999精品久久久久久| 在线免费观看日本欧美| 丁香婷婷深情五月亚洲| 韩国在线一区二区| 免费成人av在线播放| 色94色欧美sute亚洲线路二| 国产精品中文字幕欧美| 久久精品国产99国产| 男女男精品网站| 日日夜夜精品视频天天综合网| 欧美成人精精品一区二区频| 亚洲国产一区二区三区青草影视| 97se亚洲国产综合在线| 99久久婷婷国产精品综合| 亚洲欧美日韩在线| 欧美日本在线视频| 国产一区欧美日韩| 亚洲色图制服诱惑| 91麻豆精品91久久久久同性| 国产毛片精品一区| 亚洲欧洲美洲综合色网| 欧美美女直播网站| 成人精品亚洲人成在线| 亚洲一区在线免费观看| 国产视频视频一区| 日本视频免费一区| 欧美丝袜丝交足nylons图片| 欧美精选一区二区| 欧美岛国在线观看| 国产午夜精品久久久久久免费视| 国产精品久久国产精麻豆99网站 | 国产美女一区二区| 波多野结衣精品在线| 在线观看一区二区精品视频| 奇米888四色在线精品| 国产欧美视频一区二区三区| 97久久久精品综合88久久| 蜜桃精品视频在线| 亚洲成人中文在线| 亚洲精品一二三四区| 久久久噜噜噜久久中文字幕色伊伊 | 色综合久久综合网欧美综合网| 青娱乐精品视频| 亚洲成a人v欧美综合天堂下载| 欧美xxxx在线观看| 欧美乱妇15p| 天使萌一区二区三区免费观看| 亚洲国产高清在线| 欧美成人bangbros| 不卡的av网站| 91视频观看视频| 欧美性猛交xxxx乱大交退制版| 亚洲精品日产精品乱码不卡| av不卡在线播放| 一区二区成人在线视频| 91精品在线免费| 国产一区免费电影| 亚洲男帅同性gay1069| 日韩区在线观看| 精品国产一区二区国模嫣然| 亚洲午夜久久久久久久久电影网| 不卡电影免费在线播放一区| 久久久久久久综合| 国产河南妇女毛片精品久久久 |