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

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

?? encoding.c.svn-base

?? 這是一個用于解析xml文件的類庫。使用這個類庫
?? SVN-BASE
?? 第 1 頁 / 共 5 頁
字號:
 * Returns the number of byte written if success, or  *     -1 general error *     -2 if the transcoding fails (for *in is not valid utf8 string or *        the result of transformation can't fit into the encoding we want), or */intxmlCharEncInFunc(xmlCharEncodingHandler * handler, xmlBufferPtr out,                 xmlBufferPtr in){    int ret = -2;    int written;    int toconv;    if (handler == NULL)        return (-1);    if (out == NULL)        return (-1);    if (in == NULL)        return (-1);    toconv = in->use;    if (toconv == 0)        return (0);    written = out->size - out->use;    if (toconv * 2 >= written) {        xmlBufferGrow(out, out->size + toconv * 2);        written = out->size - out->use - 1;    }    if (handler->input != NULL) {        ret = handler->input(&out->content[out->use], &written,                             in->content, &toconv);        xmlBufferShrink(in, toconv);        out->use += written;        out->content[out->use] = 0;    }#ifdef LIBXML_ICONV_ENABLED    else if (handler->iconv_in != NULL) {        ret = xmlIconvWrapper(handler->iconv_in, &out->content[out->use],                              &written, in->content, &toconv);        xmlBufferShrink(in, toconv);        out->use += written;        out->content[out->use] = 0;        if (ret == -1)            ret = -3;    }#endif /* LIBXML_ICONV_ENABLED */    switch (ret) {        case 0:#ifdef DEBUG_ENCODING            xmlGenericError(xmlGenericErrorContext,                            "converted %d bytes to %d bytes of input\n",                            toconv, written);#endif            break;        case -1:#ifdef DEBUG_ENCODING            xmlGenericError(xmlGenericErrorContext,                         "converted %d bytes to %d bytes of input, %d left\n",                            toconv, written, in->use);#endif            break;        case -3:#ifdef DEBUG_ENCODING            xmlGenericError(xmlGenericErrorContext,                        "converted %d bytes to %d bytes of input, %d left\n",                            toconv, written, in->use);#endif            break;        case -2:            xmlGenericError(xmlGenericErrorContext,                            "input conversion failed due to input error\n");            xmlGenericError(xmlGenericErrorContext,                            "Bytes: 0x%02X 0x%02X 0x%02X 0x%02X\n",                            in->content[0], in->content[1],                            in->content[2], in->content[3]);    }    /*     * Ignore when input buffer is not on a boundary     */    if (ret == -3)        ret = 0;    return (written);}/** * xmlCharEncOutFunc: * @handler:	char enconding transformation data structure * @out:  an xmlBuffer for the output. * @in:  an xmlBuffer for the input *      * Generic front-end for the encoding handler output function * a first call with @in == NULL has to be made firs to initiate the  * output in case of non-stateless encoding needing to initiate their * state or the output (like the BOM in UTF16). * In case of UTF8 sequence conversion errors for the given encoder, * the content will be automatically remapped to a CharRef sequence. *      * Returns the number of byte written if success, or  *     -1 general error *     -2 if the transcoding fails (for *in is not valid utf8 string or *        the result of transformation can't fit into the encoding we want), or */intxmlCharEncOutFunc(xmlCharEncodingHandler *handler, xmlBufferPtr out,                  xmlBufferPtr in) {    int ret = -2;    int written;    int writtentot = 0;    int toconv;    int output = 0;    if (handler == NULL) return(-1);    if (out == NULL) return(-1);retry:        written = out->size - out->use;    if (written > 0)	written--; /* Gennady: count '/0' */    /*     * First specific handling of in = NULL, i.e. the initialization call     */    if (in == NULL) {        toconv = 0;	if (handler->output != NULL) {	    ret = handler->output(&out->content[out->use], &written,				  NULL, &toconv);	    if (ret >= 0) { /* Gennady: check return value */		out->use += written;		out->content[out->use] = 0;	    }	}#ifdef LIBXML_ICONV_ENABLED	else if (handler->iconv_out != NULL) {	    ret = xmlIconvWrapper(handler->iconv_out, &out->content[out->use],				  &written, NULL, &toconv);	    out->use += written;	    out->content[out->use] = 0;	}#endif /* LIBXML_ICONV_ENABLED */#ifdef DEBUG_ENCODING	xmlGenericError(xmlGenericErrorContext,		"initialized encoder\n");#endif        return(0);    }    /*     * Conversion itself.     */    toconv = in->use;    if (toconv == 0)	return(0);    if (toconv * 2 >= written) {        xmlBufferGrow(out, toconv * 2);	written = out->size - out->use - 1;    }    if (handler->output != NULL) {	ret = handler->output(&out->content[out->use], &written,	                      in->content, &toconv);	xmlBufferShrink(in, toconv);	out->use += written;	writtentot += written;	out->content[out->use] = 0;    }#ifdef LIBXML_ICONV_ENABLED    else if (handler->iconv_out != NULL) {	ret = xmlIconvWrapper(handler->iconv_out, &out->content[out->use],	                      &written, in->content, &toconv);	xmlBufferShrink(in, toconv);	out->use += written;	writtentot += written;	out->content[out->use] = 0;	if (ret == -1) {	    if (written > 0) {		/*		 * Can be a limitation of iconv		 */		goto retry;	    }	    ret = -3;	}    }#endif /* LIBXML_ICONV_ENABLED */    else {	xmlGenericError(xmlGenericErrorContext,		"xmlCharEncOutFunc: no output function !\n");	return(-1);    }    if (ret >= 0) output += ret;    /*     * Attempt to handle error cases     */    switch (ret) {        case 0:#ifdef DEBUG_ENCODING	    xmlGenericError(xmlGenericErrorContext,		    "converted %d bytes to %d bytes of output\n",	            toconv, written);#endif	    break;        case -1:#ifdef DEBUG_ENCODING	    xmlGenericError(xmlGenericErrorContext,		    "output conversion failed by lack of space\n");#endif	    break;        case -3:#ifdef DEBUG_ENCODING	    xmlGenericError(xmlGenericErrorContext,"converted %d bytes to %d bytes of output %d left\n",	            toconv, written, in->use);#endif	    break;        case -2: {	    int len = in->use;	    const xmlChar *utf = (const xmlChar *) in->content;	    int cur;	    cur = xmlGetUTF8Char(utf, &len);	    if (cur > 0) {		xmlChar charref[20];#ifdef DEBUG_ENCODING		xmlGenericError(xmlGenericErrorContext,			"handling output conversion error\n");		xmlGenericError(xmlGenericErrorContext,			"Bytes: 0x%02X 0x%02X 0x%02X 0x%02X\n",			in->content[0], in->content[1],			in->content[2], in->content[3]);#endif		/*		 * Removes the UTF8 sequence, and replace it by a charref		 * and continue the transcoding phase, hoping the error		 * did not mangle the encoder state.		 */		_snprintf((char *) charref, sizeof(charref), "&#%d;", cur);		xmlBufferShrink(in, len);		xmlBufferAddHead(in, charref, -1);		goto retry;	    } else {		xmlGenericError(xmlGenericErrorContext,			"output conversion failed due to conv error\n");		xmlGenericError(xmlGenericErrorContext,			"Bytes: 0x%02X 0x%02X 0x%02X 0x%02X\n",			in->content[0], in->content[1],			in->content[2], in->content[3]);		in->content[0] = ' ';	    }	    break;	}    }    return(ret);}/** * xmlCharEncCloseFunc: * @handler:	char enconding transformation data structure *      * Generic front-end for encoding handler close function * * Returns 0 if success, or -1 in case of error */intxmlCharEncCloseFunc(xmlCharEncodingHandler *handler) {    int ret = 0;    if (handler == NULL) return(-1);    if (handler->name == NULL) return(-1);#ifdef LIBXML_ICONV_ENABLED    /*     * Iconv handlers can be used only once, free the whole block.     * and the associated icon resources.     */    if ((handler->iconv_out != NULL) || (handler->iconv_in != NULL)) {	if (handler->name != NULL)	    xmlFree(handler->name);	handler->name = NULL;	if (handler->iconv_out != NULL) {	    if (iconv_close(handler->iconv_out))		ret = -1;	    handler->iconv_out = NULL;	}	if (handler->iconv_in != NULL) {	    if (iconv_close(handler->iconv_in))		ret = -1;	    handler->iconv_in = NULL;	}	xmlFree(handler);    }#endif /* LIBXML_ICONV_ENABLED */#ifdef DEBUG_ENCODING    if (ret)        xmlGenericError(xmlGenericErrorContext,		"failed to close the encoding handler\n");    else        xmlGenericError(xmlGenericErrorContext,		"closed the encoding handler\n");#endif    return(ret);}/** * xmlByteConsumed: * @ctxt: an XML parser context * * This function provides the current index of the parser relative * to the start of the current entity. This function is computed in * bytes from the beginning starting at zero and finishing at the * size in byte of the file if parsing a file. The function is * of constant cost if the input is UTF-8 but can be costly if run * on non-UTF-8 input. * * Returns the index in bytes from the beginning of the entity or -1 *         in case the index could not be computed. */longxmlByteConsumed(xmlParserCtxtPtr ctxt) {    xmlParserInputPtr in;        if (ctxt == NULL) return(-1);    in = ctxt->input;    if (in == NULL)  return(-1);    if ((in->buf != NULL) && (in->buf->encoder != NULL)) {        unsigned int unused = 0;	xmlCharEncodingHandler * handler = in->buf->encoder;        /*	 * Encoding conversion, compute the number of unused original	 * bytes from the input not consumed and substract that from	 * the raw consumed value, this is not a cheap operation	 */        if (in->end - in->cur > 0) {	    static unsigned char convbuf[32000];	    unsigned const char *cur = (unsigned const char *)in->cur;	    int toconv = in->end - in->cur, written = 32000;	    int ret;	    if (handler->output != NULL) {	        do {		    toconv = in->end - cur;		    written = 32000;		    ret = handler->output(&convbuf[0], &written,				      cur, &toconv);		    if (ret == -1) return(-1);		    unused += written;		    cur += toconv;		} while (ret == -2);#ifdef LIBXML_ICONV_ENABLED	    } else if (handler->iconv_out != NULL) {	        do {		    toconv = in->end - cur;		    written = 32000;		    ret = xmlIconvWrapper(handler->iconv_out, &convbuf[0],	                      &written, cur, &toconv);		    if (ret == -1) {		        if (written > 0)			    ret = -2;			else			    return(-1);		    }		    unused += written;		    cur += toconv;		} while (ret == -2);#endif            } else {	        /* could not find a converter */	        return(-1);	    }	}	if (in->buf->rawconsumed < unused)	    return(-1);	return(in->buf->rawconsumed - unused);    }    return(in->consumed + (in->cur - in->base));}#ifndef LIBXML_ICONV_ENABLED#ifdef LIBXML_ISO8859X_ENABLED/** * UTF8ToISO8859x: * @out:  a pointer to an array of bytes to store the result * @outlen:  the length of @out * @in:  a pointer to an array of UTF-8 chars * @inlen:  the length of @in * @xlattable: the 2-level transcoding table * * Take a block of UTF-8 chars in and try to convert it to an ISO 8859-* * block of chars out. * * Returns 0 if success, -2 if the transcoding fails, or -1 otherwise * The value of @inlen after return is the number of octets consumed *     as the return value is positive, else unpredictable. * The value of @outlen after return is the number of ocetes consumed. */static intUTF8ToISO8859x(unsigned char* out, int *outlen,              const unsigned char* in, int *inlen,              unsigned char const *xlattable) {    const unsigned char* outstart = out;    const unsigned char* inend;    const unsigned char* instart = in;    if (in == NULL) {        /*        * initialization nothing to do        */        *outlen = 0;        *inlen = 0;        return(0);    }    inend = in + (*inlen);    while (in < inend) {        unsigned char d = *in++;        if  (d < 0x80)  {            *out++ = d;         } else if (d < 0xC0) {            /* trailing byte in leading position */            *outlen = out - outstart;            *inlen = in - instart - 1;            return(-2);        } else if (d < 0xE0) {            unsigned char c;            if (!(in < inend)) {                /* trailing byte not in input buffer */                *outlen = out - outstart;                *inlen = in - instart - 1;                return(-2);            }            c = *in++;            if ((c & 0xC0) != 0xC0) {                /* not a trailing byte */                *outlen = out - outstart;                *inlen = in - instart - 2;                return(-2);            }            c = c & 0x3F;             d = d & 0x1F;            d = xlattable [48 + c + xlattable [d] * 64];            if (d == 0) {                /* not in character set */                

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99re成人精品视频| 日本一区二区三区四区在线视频| 色综合一个色综合亚洲| 欧美日韩电影一区| 欧美激情综合在线| 日韩精品免费专区| 92国产精品观看| 精品国产亚洲在线| 亚洲男人天堂av网| 国产精品白丝av| 亚洲电影一区二区| 99国内精品久久| 久久久高清一区二区三区| 婷婷成人激情在线网| 在线视频中文字幕一区二区| www.亚洲在线| 国产欧美视频一区二区| 久久精品国产久精国产爱| 欧美亚洲一区二区在线| 中文字幕一区二区三区四区不卡| 国产乱一区二区| 精品国产乱码久久久久久免费 | 视频一区在线视频| 91在线无精精品入口| 国产亚洲精品资源在线26u| 蜜桃av噜噜一区二区三区小说| 欧美亚洲国产bt| 亚洲一二三专区| 在线观看不卡视频| 一区二区三区资源| 日本乱码高清不卡字幕| 欧美日韩免费一区二区三区视频| 一区二区三区四区五区视频在线观看| 国产黄色精品网站| 日本一区二区成人| 成人美女视频在线观看18| 国产日产欧美一区| 成人一区二区视频| 国产精品人妖ts系列视频| 成人h动漫精品一区二区| 欧美高清在线一区二区| 成人动漫一区二区| 亚洲视频图片小说| 亚洲一区二区av电影| 色综合久久66| 亚洲午夜av在线| 777午夜精品免费视频| 日欧美一区二区| 欧美大片在线观看一区| 国内精品久久久久影院薰衣草| 国产色婷婷亚洲99精品小说| 成人做爰69片免费看网站| 国产精品超碰97尤物18| 在线视频一区二区三| 日韩精品一二区| 成人午夜短视频| 亚洲精品一卡二卡| 91精品国产手机| 国产综合色产在线精品| 中文一区二区在线观看| 欧洲一区在线观看| 裸体一区二区三区| 久久嫩草精品久久久精品| av一区二区三区在线| 一区二区高清视频在线观看| 欧美日韩成人在线| 国产中文字幕精品| 一区二区三区不卡在线观看| 国产成人99久久亚洲综合精品| 亚洲美女区一区| 欧美一级生活片| 成人激情免费视频| 亚洲成人福利片| 国产视频一区在线播放| 欧美日韩不卡一区二区| 粉嫩一区二区三区性色av| 天天综合网 天天综合色| 国产亚洲欧洲997久久综合| 91豆麻精品91久久久久久| 国产综合色产在线精品| 视频一区欧美日韩| 色婷婷综合视频在线观看| 国产一区二区三区四区在线观看| 亚洲精品ww久久久久久p站| www一区二区| 欧美日韩一级片在线观看| 成人免费视频视频在线观看免费| 首页亚洲欧美制服丝腿| 一区二区三区四区在线免费观看 | 亚洲成人福利片| 国产精品麻豆视频| 精品日韩欧美一区二区| 欧美男男青年gay1069videost| 综合久久久久综合| 久久久久久久久久久电影| 在线播放中文字幕一区| 日本韩国精品在线| 成人av手机在线观看| 黄一区二区三区| 蜜桃视频在线观看一区二区| 亚洲一区二区三区四区的| 自拍偷拍欧美激情| 国产亚洲欧美日韩在线一区| 日韩女优av电影在线观看| 日本乱码高清不卡字幕| a级高清视频欧美日韩| 国产一区不卡视频| 久久精品这里都是精品| 欧美大尺度电影在线| 在线播放中文一区| 欧美精品视频www在线观看| 欧美性猛交xxxx乱大交退制版 | 国产女人18毛片水真多成人如厕| 欧美电视剧在线观看完整版| 91精品欧美一区二区三区综合在| 欧美在线高清视频| 欧美日韩国产一级片| 欧美色电影在线| 欧美精品乱人伦久久久久久| 欧美日韩dvd在线观看| 在线观看91精品国产麻豆| 欧美一卡在线观看| 精品国产一区二区三区四区四 | 欧美老女人第四色| 欧美日韩亚洲高清一区二区| 欧美日韩在线电影| 制服丝袜亚洲色图| 日韩欧美中文一区| 精品久久久久久久久久久久久久久 | 欧美性做爰猛烈叫床潮| 欧洲精品一区二区三区在线观看| 色综合天天综合| 在线观看精品一区| 56国语精品自产拍在线观看| 欧美v亚洲v综合ⅴ国产v| 久久丝袜美腿综合| 亚洲欧洲无码一区二区三区| 亚洲精品久久久蜜桃| 天天色天天操综合| 激情伊人五月天久久综合| 韩国视频一区二区| 91在线国产福利| 欧美精品在线观看播放| 东方aⅴ免费观看久久av| 色综合色综合色综合色综合色综合 | 无码av中文一区二区三区桃花岛| 丝袜美腿亚洲一区二区图片| 国产自产2019最新不卡| 91欧美一区二区| 欧美一二三区在线| 国产精品不卡一区| 亚瑟在线精品视频| 国产精品一区二区三区乱码| 91在线观看一区二区| 欧美一区二区黄| 丁香亚洲综合激情啪啪综合| 欧美系列一区二区| 精品欧美一区二区久久| 一区二区三区在线视频免费观看| 人人爽香蕉精品| 成人黄色在线看| 日韩欧美在线网站| 一区二区三区四区在线| 国产乱人伦精品一区二区在线观看| 色综合久久综合中文综合网| 精品国产百合女同互慰| 一区2区3区在线看| 国产iv一区二区三区| 8x8x8国产精品| 亚洲精品国产品国语在线app| 国产精品私房写真福利视频| 天天色天天爱天天射综合| 波多野结衣精品在线| 久久综合一区二区| 性做久久久久久| 色综合久久六月婷婷中文字幕| 久久久不卡影院| 麻豆精品一区二区av白丝在线 | 成人的网站免费观看| 欧美一区二区三区四区久久| 久久一留热品黄| 免费一级欧美片在线观看| 91黄色免费看| 亚洲欧洲日本在线| 福利电影一区二区| 久久久久久久国产精品影院| 五月天婷婷综合| 欧美精品在线观看一区二区| 亚洲一区电影777| 在线视频欧美精品| ●精品国产综合乱码久久久久| 国产精品一品二品| 久久综合色婷婷| 久久国内精品自在自线400部| 7777精品伊人久久久大香线蕉 | **网站欧美大片在线观看| 国产成人自拍高清视频在线免费播放| 欧美一区二区三区在线观看 | 国产精品91一区二区| 精品免费99久久|