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

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

?? error.c

?? xml開(kāi)源解析代碼.版本為libxml2-2.6.29,可支持GB3212.網(wǎng)絡(luò)消息發(fā)送XML時(shí)很有用.
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
    /*     * specific processing if a parser context is provided     */    if (ctxt != NULL) {        if (file == NULL) {            input = ctxt->input;            if ((input != NULL) && (input->filename == NULL) &&                (ctxt->inputNr > 1)) {                input = ctxt->inputTab[ctxt->inputNr - 2];            }            if (input != NULL) {                file = input->filename;                line = input->line;                col = input->col;            }        }        to = &ctxt->lastError;    } else if ((node != NULL) && (file == NULL)) {	int i;	if ((node->doc != NULL) && (node->doc->URL != NULL)) {	    baseptr = node;/*	    file = (const char *) node->doc->URL; */	}	for (i = 0;	     ((i < 10) && (node != NULL) && (node->type != XML_ELEMENT_NODE));	     i++)	     node = node->parent;        if ((baseptr == NULL) && (node != NULL) &&	    (node->doc != NULL) && (node->doc->URL != NULL))	    baseptr = node;	if ((node != NULL) && (node->type == XML_ELEMENT_NODE))	    line = node->line;    }    /*     * Save the information about the error     */    xmlResetError(to);    to->domain = domain;    to->code = code;    to->message = str;    to->level = level;    if (file != NULL)        to->file = (char *) xmlStrdup((const xmlChar *) file);    else if (baseptr != NULL) {#ifdef LIBXML_XINCLUDE_ENABLED	/*	 * We check if the error is within an XInclude section and,	 * if so, attempt to print out the href of the XInclude instead	 * of the usual "base" (doc->URL) for the node (bug 152623).	 */        xmlNodePtr prev = baseptr;	int inclcount = 0;	while (prev != NULL) {	    if (prev->prev == NULL)	        prev = prev->parent;	    else {	        prev = prev->prev;		if (prev->type == XML_XINCLUDE_START) {		    if (--inclcount < 0)		        break;		} else if (prev->type == XML_XINCLUDE_END)		    inclcount++;	    }	}	if (prev != NULL) {	    if (prev->type == XML_XINCLUDE_START) {		prev->type = XML_ELEMENT_NODE;		to->file = (char *) xmlGetProp(prev, BAD_CAST "href");		prev->type = XML_XINCLUDE_START;	    } else {		to->file = (char *) xmlGetProp(prev, BAD_CAST "href");	    }	} else#endif	    to->file = (char *) xmlStrdup(baseptr->doc->URL);	if ((to->file == NULL) && (node != NULL) && (node->doc != NULL)) {	    to->file = (char *) xmlStrdup(node->doc->URL);	}	file = to->file;    }    to->line = line;    if (str1 != NULL)        to->str1 = (char *) xmlStrdup((const xmlChar *) str1);    if (str2 != NULL)        to->str2 = (char *) xmlStrdup((const xmlChar *) str2);    if (str3 != NULL)        to->str3 = (char *) xmlStrdup((const xmlChar *) str3);    to->int1 = int1;    to->int2 = col;    to->node = node;    to->ctxt = ctx;    if (to != &xmlLastError)        xmlCopyError(to,&xmlLastError);    /*     * Find the callback channel if channel param is NULL     */    if ((ctxt != NULL) && (channel == NULL) && (xmlStructuredError == NULL) && (ctxt->sax != NULL)) {        if (level == XML_ERR_WARNING)	    channel = ctxt->sax->warning;        else	    channel = ctxt->sax->error;	data = ctxt->userData;    } else if (channel == NULL) {        if (xmlStructuredError != NULL)	    schannel = xmlStructuredError;	else	    channel = xmlGenericError;	if (!data) {	data = xmlGenericErrorContext;    }    }    if (schannel != NULL) {        schannel(data, to);	return;    }    if (channel == NULL)        return;    if ((channel == xmlParserError) ||        (channel == xmlParserWarning) ||	(channel == xmlParserValidityError) ||	(channel == xmlParserValidityWarning))	xmlReportError(to, ctxt, str, NULL, NULL);    else if ((channel == (xmlGenericErrorFunc) fprintf) ||             (channel == xmlGenericErrorDefaultFunc))	xmlReportError(to, ctxt, str, channel, data);    else	channel(data, "%s", str);}/** * __xmlSimpleError: * @domain: where the error comes from * @code: the error code * @node: the context node * @extra:  extra informations * * Handle an out of memory condition */void__xmlSimpleError(int domain, int code, xmlNodePtr node,                 const char *msg, const char *extra){    if (code == XML_ERR_NO_MEMORY) {	if (extra)	    __xmlRaiseError(NULL, NULL, NULL, NULL, node, domain,			    XML_ERR_NO_MEMORY, XML_ERR_FATAL, NULL, 0, extra,			    NULL, NULL, 0, 0,			    "Memory allocation failed : %s\n", extra);	else	    __xmlRaiseError(NULL, NULL, NULL, NULL, node, domain,			    XML_ERR_NO_MEMORY, XML_ERR_FATAL, NULL, 0, NULL,			    NULL, NULL, 0, 0, "Memory allocation failed\n");    } else {	__xmlRaiseError(NULL, NULL, NULL, NULL, node, domain,			code, XML_ERR_ERROR, NULL, 0, extra,			NULL, NULL, 0, 0, msg, extra);    }}/** * xmlParserError: * @ctx:  an XML parser context * @msg:  the message to display/transmit * @...:  extra parameters for the message display *  * Display and format an error messages, gives file, line, position and * extra parameters. */void XMLCDECLxmlParserError(void *ctx, const char *msg, ...){    xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;    xmlParserInputPtr input = NULL;    xmlParserInputPtr cur = NULL;    char * str;    if (ctxt != NULL) {	input = ctxt->input;	if ((input != NULL) && (input->filename == NULL) &&	    (ctxt->inputNr > 1)) {	    cur = input;	    input = ctxt->inputTab[ctxt->inputNr - 2];	}	xmlParserPrintFileInfo(input);    }    xmlGenericError(xmlGenericErrorContext, "error: ");    XML_GET_VAR_STR(msg, str);    xmlGenericError(xmlGenericErrorContext, "%s", str);    if (str != NULL)	xmlFree(str);    if (ctxt != NULL) {	xmlParserPrintFileContext(input);	if (cur != NULL) {	    xmlParserPrintFileInfo(cur);	    xmlGenericError(xmlGenericErrorContext, "\n");	    xmlParserPrintFileContext(cur);	}    }}/** * xmlParserWarning: * @ctx:  an XML parser context * @msg:  the message to display/transmit * @...:  extra parameters for the message display *  * Display and format a warning messages, gives file, line, position and * extra parameters. */void XMLCDECLxmlParserWarning(void *ctx, const char *msg, ...){    xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;    xmlParserInputPtr input = NULL;    xmlParserInputPtr cur = NULL;    char * str;    if (ctxt != NULL) {	input = ctxt->input;	if ((input != NULL) && (input->filename == NULL) &&	    (ctxt->inputNr > 1)) {	    cur = input;	    input = ctxt->inputTab[ctxt->inputNr - 2];	}	xmlParserPrintFileInfo(input);    }            xmlGenericError(xmlGenericErrorContext, "warning: ");    XML_GET_VAR_STR(msg, str);    xmlGenericError(xmlGenericErrorContext, "%s", str);    if (str != NULL)	xmlFree(str);    if (ctxt != NULL) {	xmlParserPrintFileContext(input);	if (cur != NULL) {	    xmlParserPrintFileInfo(cur);	    xmlGenericError(xmlGenericErrorContext, "\n");	    xmlParserPrintFileContext(cur);	}    }}/************************************************************************ * 									* * 			Handling of validation errors			* * 									* ************************************************************************//** * xmlParserValidityError: * @ctx:  an XML parser context * @msg:  the message to display/transmit * @...:  extra parameters for the message display *  * Display and format an validity error messages, gives file, * line, position and extra parameters. */void XMLCDECLxmlParserValidityError(void *ctx, const char *msg, ...){    xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;    xmlParserInputPtr input = NULL;    char * str;    int len = xmlStrlen((const xmlChar *) msg);    static int had_info = 0;    if ((len > 1) && (msg[len - 2] != ':')) {	if (ctxt != NULL) {	    input = ctxt->input;	    if ((input->filename == NULL) && (ctxt->inputNr > 1))		input = ctxt->inputTab[ctxt->inputNr - 2];			    if (had_info == 0) {		xmlParserPrintFileInfo(input);	    }	}	xmlGenericError(xmlGenericErrorContext, "validity error: ");	had_info = 0;    } else {	had_info = 1;    }    XML_GET_VAR_STR(msg, str);    xmlGenericError(xmlGenericErrorContext, "%s", str);    if (str != NULL)	xmlFree(str);    if ((ctxt != NULL) && (input != NULL)) {	xmlParserPrintFileContext(input);    }}/** * xmlParserValidityWarning: * @ctx:  an XML parser context * @msg:  the message to display/transmit * @...:  extra parameters for the message display *  * Display and format a validity warning messages, gives file, line, * position and extra parameters. */void XMLCDECLxmlParserValidityWarning(void *ctx, const char *msg, ...){    xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;    xmlParserInputPtr input = NULL;    char * str;    int len = xmlStrlen((const xmlChar *) msg);    if ((ctxt != NULL) && (len != 0) && (msg[len - 1] != ':')) {	input = ctxt->input;	if ((input->filename == NULL) && (ctxt->inputNr > 1))	    input = ctxt->inputTab[ctxt->inputNr - 2];	xmlParserPrintFileInfo(input);    }            xmlGenericError(xmlGenericErrorContext, "validity warning: ");    XML_GET_VAR_STR(msg, str);    xmlGenericError(xmlGenericErrorContext, "%s", str);    if (str != NULL)	xmlFree(str);    if (ctxt != NULL) {	xmlParserPrintFileContext(input);    }}/************************************************************************ *									* *			Extended Error Handling				* *									* ************************************************************************//** * xmlGetLastError: * * Get the last global error registered. This is per thread if compiled * with thread support. * * Returns NULL if no error occured or a pointer to the error */xmlErrorPtrxmlGetLastError(void){    if (xmlLastError.code == XML_ERR_OK)        return (NULL);    return (&xmlLastError);}/** * xmlResetError: * @err: pointer to the error. * * Cleanup the error. */voidxmlResetError(xmlErrorPtr err){    if (err == NULL)        return;    if (err->code == XML_ERR_OK)        return;    if (err->message != NULL)        xmlFree(err->message);    if (err->file != NULL)        xmlFree(err->file);    if (err->str1 != NULL)        xmlFree(err->str1);    if (err->str2 != NULL)        xmlFree(err->str2);    if (err->str3 != NULL)        xmlFree(err->str3);    memset(err, 0, sizeof(xmlError));    err->code = XML_ERR_OK;}/** * xmlResetLastError: * * Cleanup the last global error registered. For parsing error * this does not change the well-formedness result. */voidxmlResetLastError(void){    if (xmlLastError.code == XML_ERR_OK)        return;    xmlResetError(&xmlLastError);}/** * xmlCtxtGetLastError: * @ctx:  an XML parser context * * Get the last parsing error registered. * * Returns NULL if no error occured or a pointer to the error */xmlErrorPtrxmlCtxtGetLastError(void *ctx){    xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;    if (ctxt == NULL)        return (NULL);    if (ctxt->lastError.code == XML_ERR_OK)        return (NULL);    return (&ctxt->lastError);}/** * xmlCtxtResetLastError: * @ctx:  an XML parser context * * Cleanup the last global error registered. For parsing error * this does not change the well-formedness result. */voidxmlCtxtResetLastError(void *ctx){    xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;    if (ctxt == NULL)        return;    if (ctxt->lastError.code == XML_ERR_OK)        return;    xmlResetError(&ctxt->lastError);}/** * xmlCopyError: * @from:  a source error * @to:  a target error * * Save the original error to the new place. * * Returns 0 in case of success and -1 in case of error. */intxmlCopyError(xmlErrorPtr from, xmlErrorPtr to) {    char *message, *file, *str1, *str2, *str3;    if ((from == NULL) || (to == NULL))        return(-1);    message = (char *) xmlStrdup((xmlChar *) from->message);    file = (char *) xmlStrdup ((xmlChar *) from->file);    str1 = (char *) xmlStrdup ((xmlChar *) from->str1);    str2 = (char *) xmlStrdup ((xmlChar *) from->str2);    str3 = (char *) xmlStrdup ((xmlChar *) from->str3);    if (to->message != NULL)        xmlFree(to->message);    if (to->file != NULL)        xmlFree(to->file);    if (to->str1 != NULL)        xmlFree(to->str1);    if (to->str2 != NULL)        xmlFree(to->str2);    if (to->str3 != NULL)        xmlFree(to->str3);    to->domain = from->domain;    to->code = from->code;    to->level = from->level;    to->line = from->line;    to->node = from->node;    to->int1 = from->int1;    to->int2 = from->int2;    to->node = from->node;    to->ctxt = from->ctxt;    to->message = message;    to->file = file;    to->str1 = str1;    to->str2 = str2;    to->str3 = str3;    return 0;}#define bottom_error#include "elfgcchack.h"

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产网红主播福利一区二区| 亚洲精品欧美二区三区中文字幕| 国产成人av资源| 一区二区三区在线视频免费观看| 日韩你懂的电影在线观看| 成人激情免费网站| 国产精品99久久久久久宅男| 精品夜夜嗨av一区二区三区| 美女被吸乳得到大胸91| 免费成人结看片| 理论电影国产精品| 国产成人免费在线视频| 成人一道本在线| 色琪琪一区二区三区亚洲区| 在线视频中文字幕一区二区| 欧美日韩国产成人在线91| 精品国产伦一区二区三区观看体验| 久久奇米777| 亚洲黄色小视频| 国产一区二区日韩精品| 不卡影院免费观看| 欧美一区二区精美| 久久久夜色精品亚洲| 亚洲三级在线免费观看| 国产专区综合网| 欧美日韩一区二区在线观看| 中国色在线观看另类| 日本伊人午夜精品| 欧美日韩一区二区三区四区五区 | 久久99精品国产.久久久久久| 大白屁股一区二区视频| 欧美va亚洲va在线观看蝴蝶网| 日韩理论片在线| 99精品欧美一区| 日韩美女啊v在线免费观看| 成人久久久精品乱码一区二区三区| 在线成人免费观看| 奇米色一区二区| 日韩午夜电影在线观看| 久久99精品久久久久久久久久久久| 欧美午夜精品久久久| 亚洲人成精品久久久久| 91丝袜国产在线播放| 亚洲欧美日韩中文字幕一区二区三区| 国产 日韩 欧美大片| 亚洲视频电影在线| 欧美中文一区二区三区| 奇米色777欧美一区二区| 日韩精品一区二区三区在线观看| 一区二区三区在线视频观看| 粉嫩绯色av一区二区在线观看| 国产精品久久777777| 91在线视频免费91| 蜜桃av一区二区三区| 国产精品久久久久一区二区三区共 | 91免费看视频| youjizz国产精品| 欧美一个色资源| 91免费国产视频网站| 亚洲成人一区二区在线观看| 精品视频在线看| 国产高清不卡一区二区| 国产精品国模大尺度视频| 成人午夜av在线| 婷婷亚洲久悠悠色悠在线播放| 中文字幕精品综合| 精品91自产拍在线观看一区| 欧美在线短视频| 91小视频免费看| 成人a免费在线看| 国产精品一品二品| 日韩国产精品大片| 蜜臀av性久久久久av蜜臀妖精| 欧美xxxxx牲另类人与| 在线视频一区二区三区| 色综合夜色一区| 色综合激情五月| 91精品福利在线| 91精品办公室少妇高潮对白| 91丝袜高跟美女视频| 欧美三区在线视频| 欧美三区在线观看| 在线观看亚洲成人| 欧美在线一区二区| 欧美亚洲禁片免费| 欧美日韩一卡二卡| 欧美性受xxxx| 欧美本精品男人aⅴ天堂| 精品国产百合女同互慰| 国产亚洲综合色| 亚洲乱码国产乱码精品精可以看| 亚洲三级电影全部在线观看高清| 一区二区三区免费| 日韩成人精品视频| 波多野结衣在线一区| 色综合色狠狠综合色| 精品久久一二三区| **性色生活片久久毛片| 蜜桃视频第一区免费观看| 国产成人8x视频一区二区| 欧美日韩综合在线| 国产精品蜜臀在线观看| 久久国产精品99久久久久久老狼| 97se狠狠狠综合亚洲狠狠| 日韩精品一区二区三区三区免费| 国产精品成人免费在线| 蜜臀久久99精品久久久久久9 | 日本国产一区二区| 欧美激情艳妇裸体舞| 轻轻草成人在线| 欧美情侣在线播放| 日韩avvvv在线播放| 欧美影视一区二区三区| 一区二区三区精品久久久| 粉嫩在线一区二区三区视频| 日韩一区二区三区免费看| 亚洲色图一区二区| 色综合久久综合网欧美综合网| 中文字幕一区免费在线观看 | 中文字幕中文乱码欧美一区二区| 国产一区二区美女| 国产精品免费视频一区| 91色乱码一区二区三区| 夜夜嗨av一区二区三区四季av| 欧美主播一区二区三区美女| 亚洲午夜私人影院| 精品粉嫩aⅴ一区二区三区四区 | 91浏览器在线视频| 亚洲综合在线五月| 久久久久国产精品麻豆ai换脸 | 亚洲六月丁香色婷婷综合久久 | 亚洲一区二区三区中文字幕| 欧美日韩视频在线观看一区二区三区 | 91精品福利视频| 免费久久精品视频| 一区二区三区不卡视频| 麻豆精品国产传媒mv男同 | 91精品欧美综合在线观看最新| 午夜精品123| 日韩色视频在线观看| 欧美色电影在线| 久久久久久久国产精品影院| 国产成人精品影视| 狠狠色狠狠色综合日日91app| 国产三级精品三级| 国产精品久久三| 国产欧美精品一区二区三区四区 | 国产欧美视频一区二区| 91浏览器在线视频| 精久久久久久久久久久| 成人永久免费视频| 亚洲精品免费在线播放| 欧美色图第一页| 337p粉嫩大胆噜噜噜噜噜91av| 日本午夜一区二区| 亚洲高清免费观看高清完整版在线观看| 91在线高清观看| 久久精品在线免费观看| 精品国产一区二区三区四区四| 精品一区二区三区在线观看国产| 风间由美一区二区av101| 国内成人精品2018免费看| 国产精品一二三四区| 日韩综合小视频| 国产一区二区精品久久99| 国产精品一卡二卡| 99久久99久久精品免费观看 | 亚洲精品在线免费观看视频| 亚洲精品一区二区三区精华液| 欧美一区二区精品久久911| 精品999在线播放| 自拍偷拍亚洲综合| 亚洲国产欧美日韩另类综合 | 国产免费观看久久| 天堂久久久久va久久久久| 国产乱人伦偷精品视频不卡| 91亚洲国产成人精品一区二三| 91.xcao| 久久精子c满五个校花| 亚洲成人免费看| 在线观看日韩av先锋影音电影院| 精品福利一二区| 日韩中文欧美在线| 在线观看国产日韩| 中文字幕在线观看一区| 91在线观看成人| 欧洲精品中文字幕| 欧洲av一区二区嗯嗯嗯啊| 欧美日韩国产在线观看| 亚洲人成7777| 成人黄色免费短视频| 国产丝袜美腿一区二区三区| 蜜乳av一区二区| 91精品国产欧美一区二区成人| 亚洲五月六月丁香激情| 色噜噜狠狠一区二区三区果冻| 亚洲国产精品二十页| gogogo免费视频观看亚洲一| 最好看的中文字幕久久| 色偷偷久久一区二区三区|