Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(129)

Side by Side Diff: third_party/libxml/error.c

Issue 2951008: Update libxml to 2.7.7. (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * error.c: module displaying/handling XML parser errors 2 * error.c: module displaying/handling XML parser errors
3 * 3 *
4 * See Copyright for the status of this software. 4 * See Copyright for the status of this software.
5 * 5 *
6 * Daniel Veillard <daniel@veillard.com> 6 * Daniel Veillard <daniel@veillard.com>
7 */ 7 */
8 8
9 #define IN_LIBXML 9 #define IN_LIBXML
10 #include "libxml.h" 10 #include "libxml.h"
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 * 125 *
126 * Function to reset the handler and the error context for out of 126 * Function to reset the handler and the error context for out of
127 * context structured error messages. 127 * context structured error messages.
128 * This simply means that @handler will be called for subsequent 128 * This simply means that @handler will be called for subsequent
129 * error messages while not parsing nor validating. And @ctx will 129 * error messages while not parsing nor validating. And @ctx will
130 * be passed as first argument to @handler 130 * be passed as first argument to @handler
131 * For multi-threaded applications, this must be set separately for each thread. 131 * For multi-threaded applications, this must be set separately for each thread.
132 */ 132 */
133 void 133 void
134 xmlSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler) { 134 xmlSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler) {
135 xmlGenericErrorContext = ctx; 135 xmlStructuredErrorContext = ctx;
136 xmlStructuredError = handler; 136 xmlStructuredError = handler;
137 } 137 }
138 138
139 /************************************************************************ 139 /************************************************************************
140 * * 140 * *
141 * Handling of parsing errors * 141 * Handling of parsing errors *
142 * * 142 * *
143 ************************************************************************/ 143 ************************************************************************/
144 144
145 /** 145 /**
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after
464 } 464 }
465 /* 465 /*
466 * Check if structured error handler set 466 * Check if structured error handler set
467 */ 467 */
468 if (schannel == NULL) { 468 if (schannel == NULL) {
469 schannel = xmlStructuredError; 469 schannel = xmlStructuredError;
470 /* 470 /*
471 * if user has defined handler, change data ptr to user's choice 471 * if user has defined handler, change data ptr to user's choice
472 */ 472 */
473 if (schannel != NULL) 473 if (schannel != NULL)
474 » data = xmlGenericErrorContext; 474 » data = xmlStructuredErrorContext;
475 } 475 }
476 if ((domain == XML_FROM_VALID) && 476 if ((domain == XML_FROM_VALID) &&
477 ((channel == xmlParserValidityError) || 477 ((channel == xmlParserValidityError) ||
478 (channel == xmlParserValidityWarning))) { 478 (channel == xmlParserValidityWarning))) {
479 ctxt = (xmlParserCtxtPtr) ctx; 479 ctxt = (xmlParserCtxtPtr) ctx;
480 if ((schannel == NULL) && (ctxt != NULL) && (ctxt->sax != NULL) && 480 if ((schannel == NULL) && (ctxt != NULL) && (ctxt->sax != NULL) &&
481 (ctxt->sax->initialized == XML_SAX2_MAGIC)) 481 (ctxt->sax->initialized == XML_SAX2_MAGIC))
482 schannel = ctxt->sax->serror; 482 schannel = ctxt->sax->serror;
483 } 483 }
484 if (code == XML_ERR_OK) 484 if (code == XML_ERR_OK)
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
566 prev->type = XML_XINCLUDE_START; 566 prev->type = XML_XINCLUDE_START;
567 } else { 567 } else {
568 to->file = (char *) xmlGetProp(prev, BAD_CAST "href"); 568 to->file = (char *) xmlGetProp(prev, BAD_CAST "href");
569 } 569 }
570 } else 570 } else
571 #endif 571 #endif
572 to->file = (char *) xmlStrdup(baseptr->doc->URL); 572 to->file = (char *) xmlStrdup(baseptr->doc->URL);
573 if ((to->file == NULL) && (node != NULL) && (node->doc != NULL)) { 573 if ((to->file == NULL) && (node != NULL) && (node->doc != NULL)) {
574 to->file = (char *) xmlStrdup(node->doc->URL); 574 to->file = (char *) xmlStrdup(node->doc->URL);
575 } 575 }
576 file = to->file;
577 } 576 }
578 to->line = line; 577 to->line = line;
579 if (str1 != NULL) 578 if (str1 != NULL)
580 to->str1 = (char *) xmlStrdup((const xmlChar *) str1); 579 to->str1 = (char *) xmlStrdup((const xmlChar *) str1);
581 if (str2 != NULL) 580 if (str2 != NULL)
582 to->str2 = (char *) xmlStrdup((const xmlChar *) str2); 581 to->str2 = (char *) xmlStrdup((const xmlChar *) str2);
583 if (str3 != NULL) 582 if (str3 != NULL)
584 to->str3 = (char *) xmlStrdup((const xmlChar *) str3); 583 to->str3 = (char *) xmlStrdup((const xmlChar *) str3);
585 to->int1 = int1; 584 to->int1 = int1;
586 to->int2 = col; 585 to->int2 = col;
587 to->node = node; 586 to->node = node;
588 to->ctxt = ctx; 587 to->ctxt = ctx;
589 588
590 if (to != &xmlLastError) 589 if (to != &xmlLastError)
591 xmlCopyError(to,&xmlLastError); 590 xmlCopyError(to,&xmlLastError);
592 591
593 /* 592 /*
594 * Find the callback channel if channel param is NULL 593 * Find the callback channel if channel param is NULL
595 */ 594 */
596 if ((ctxt != NULL) && (channel == NULL) && (xmlStructuredError == NULL) && ( ctxt->sax != NULL)) { 595 if ((ctxt != NULL) && (channel == NULL) &&
596 (xmlStructuredError == NULL) && (ctxt->sax != NULL)) {
597 if (level == XML_ERR_WARNING) 597 if (level == XML_ERR_WARNING)
598 channel = ctxt->sax->warning; 598 channel = ctxt->sax->warning;
599 else 599 else
600 channel = ctxt->sax->error; 600 channel = ctxt->sax->error;
601 data = ctxt->userData; 601 data = ctxt->userData;
602 } else if (channel == NULL) { 602 } else if (channel == NULL) {
603 if (xmlStructuredError != NULL) 603 if ((schannel == NULL) && (xmlStructuredError != NULL)) {
604 schannel = xmlStructuredError; 604 schannel = xmlStructuredError;
605 » else 605 » data = xmlStructuredErrorContext;
606 » } else {
606 channel = xmlGenericError; 607 channel = xmlGenericError;
607 » if (!data) { 608 » if (!data) {
608 » data = xmlGenericErrorContext; 609 » » data = xmlGenericErrorContext;
609 } 610 » }
611 » }
610 } 612 }
611 if (schannel != NULL) { 613 if (schannel != NULL) {
612 schannel(data, to); 614 schannel(data, to);
613 return; 615 return;
614 } 616 }
615 if (channel == NULL) 617 if (channel == NULL)
616 return; 618 return;
617 619
618 if ((channel == xmlParserError) || 620 if ((channel == xmlParserError) ||
619 (channel == xmlParserWarning) || 621 (channel == xmlParserWarning) ||
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
920 * Cleanup the last global error registered. For parsing error 922 * Cleanup the last global error registered. For parsing error
921 * this does not change the well-formedness result. 923 * this does not change the well-formedness result.
922 */ 924 */
923 void 925 void
924 xmlCtxtResetLastError(void *ctx) 926 xmlCtxtResetLastError(void *ctx)
925 { 927 {
926 xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx; 928 xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
927 929
928 if (ctxt == NULL) 930 if (ctxt == NULL)
929 return; 931 return;
932 ctxt->errNo = XML_ERR_OK;
930 if (ctxt->lastError.code == XML_ERR_OK) 933 if (ctxt->lastError.code == XML_ERR_OK)
931 return; 934 return;
932 xmlResetError(&ctxt->lastError); 935 xmlResetError(&ctxt->lastError);
933 } 936 }
934 937
935 /** 938 /**
936 * xmlCopyError: 939 * xmlCopyError:
937 * @from: a source error 940 * @from: a source error
938 * @to: a target error 941 * @to: a target error
939 * 942 *
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
977 to->file = file; 980 to->file = file;
978 to->str1 = str1; 981 to->str1 = str1;
979 to->str2 = str2; 982 to->str2 = str2;
980 to->str3 = str3; 983 to->str3 = str3;
981 984
982 return 0; 985 return 0;
983 } 986 }
984 987
985 #define bottom_error 988 #define bottom_error
986 #include "elfgcchack.h" 989 #include "elfgcchack.h"
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698