Upgrade libxml to 2.9.1
Bug: 7246045
Change-Id: I8d0abc6b9e3f691f6e282a8912d1af7b24b21aa5
diff --git a/error.c b/error.c
index a891faa..cbcf5c9 100644
--- a/error.c
+++ b/error.c
@@ -33,7 +33,7 @@
\
while (size < 64000) { \
va_start(ap, msg); \
- chars = vsnprintf(str, size, msg, ap); \
+ chars = vsnprintf(str, size, msg, ap); \
va_end(ap); \
if ((chars > -1) && (chars < size)) { \
if (prev_size == chars) { \
@@ -54,9 +54,9 @@
}
/************************************************************************
- * *
- * Handling of out of context errors *
- * *
+ * *
+ * Handling of out of context errors *
+ * *
************************************************************************/
/**
@@ -64,7 +64,7 @@
* @ctx: an error context
* @msg: the message to display/transmit
* @...: extra parameters for the message display
- *
+ *
* Default handler for out of context error messages.
*/
void XMLCDECL
@@ -82,7 +82,7 @@
/**
* initGenericErrorDefaultFunc:
* @handler: the handler
- *
+ *
* Set or reset (if NULL) the default handler for generic errors
* to the builtin error function.
*/
@@ -137,15 +137,15 @@
}
/************************************************************************
- * *
- * Handling of parsing errors *
- * *
+ * *
+ * Handling of parsing errors *
+ * *
************************************************************************/
/**
* xmlParserPrintFileInfo:
* @input: an xmlParserInputPtr input
- *
+ *
* Displays the associated file and line informations for the current input
*/
@@ -165,12 +165,12 @@
/**
* xmlParserPrintFileContext:
* @input: an xmlParserInputPtr input
- *
+ *
* Displays current context within the input content for error tracking
*/
static void
-xmlParserPrintFileContextInternal(xmlParserInputPtr input ,
+xmlParserPrintFileContextInternal(xmlParserInputPtr input ,
xmlGenericErrorFunc channel, void *data ) {
const xmlChar *cur, *base;
unsigned int n, col; /* GCC warns if signed, because compared with sizeof() */
@@ -186,8 +186,8 @@
}
n = 0;
/* search backwards for beginning-of-line (to max buff size) */
- while ((n++ < (sizeof(content)-1)) && (cur > base) &&
- (*(cur) != '\n') && (*(cur) != '\r'))
+ while ((n++ < (sizeof(content)-1)) && (cur > base) &&
+ (*(cur) != '\n') && (*(cur) != '\r'))
cur--;
if ((*(cur) == '\n') || (*(cur) == '\r')) cur++;
/* calculate the error position in terms of the current position */
@@ -196,8 +196,8 @@
n = 0;
ctnt = content;
/* copy selected text to our buffer */
- while ((*cur != 0) && (*(cur) != '\n') &&
- (*(cur) != '\r') && (n < sizeof(content)-1)) {
+ while ((*cur != 0) && (*(cur) != '\n') &&
+ (*(cur) != '\r') && (n < sizeof(content)-1)) {
*ctnt++ = *cur++;
n++;
}
@@ -221,7 +221,7 @@
/**
* xmlParserPrintFileContext:
* @input: an xmlParserInputPtr input
- *
+ *
* Displays current context within the input content for error tracking
*/
void
@@ -292,7 +292,10 @@
} else {
if (file != NULL)
channel(data, "%s:%d: ", file, line);
- else if ((line != 0) && (domain == XML_FROM_PARSER))
+ else if ((line != 0) &&
+ ((domain == XML_FROM_PARSER) || (domain == XML_FROM_SCHEMASV)||
+ (domain == XML_FROM_SCHEMASP)||(domain == XML_FROM_DTD) ||
+ (domain == XML_FROM_RELAXNGP)||(domain == XML_FROM_RELAXNGV)))
channel(data, "Entity: line %d: ", line);
}
if (name != NULL) {
@@ -360,6 +363,15 @@
case XML_FROM_I18N:
channel(data, "encoding ");
break;
+ case XML_FROM_SCHEMATRONV:
+ channel(data, "schematron ");
+ break;
+ case XML_FROM_BUFFER:
+ channel(data, "internal buffer ");
+ break;
+ case XML_FROM_URI:
+ channel(data, "URI ");
+ break;
default:
break;
}
@@ -429,7 +441,7 @@
* @str2: extra string info
* @str3: extra string info
* @int1: extra int info
- * @col: column number of the error or 0 if N/A
+ * @col: column number of the error or 0 if N/A
* @msg: the message to display/transmit
* @...: extra parameters for the message display
*
@@ -521,6 +533,8 @@
if ((node != NULL) && (node->type == XML_ELEMENT_NODE))
line = node->line;
+ if ((line == 0) || (line == 65535))
+ line = xmlGetLineNo(node);
}
/*
@@ -601,8 +615,11 @@
data = ctxt->userData;
} else if (channel == NULL) {
channel = xmlGenericError;
- if (!data)
+ if (ctxt != NULL) {
+ data = ctxt;
+ } else {
data = xmlGenericErrorContext;
+ }
}
if (channel == NULL)
return;
@@ -654,7 +671,7 @@
* @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.
*/
@@ -697,7 +714,7 @@
* @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.
*/
@@ -718,7 +735,7 @@
}
xmlParserPrintFileInfo(input);
}
-
+
xmlGenericError(xmlGenericErrorContext, "warning: ");
XML_GET_VAR_STR(msg, str);
xmlGenericError(xmlGenericErrorContext, "%s", str);
@@ -736,9 +753,9 @@
}
/************************************************************************
- * *
- * Handling of validation errors *
- * *
+ * *
+ * Handling of validation errors *
+ * *
************************************************************************/
/**
@@ -746,7 +763,7 @@
* @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.
*/
@@ -764,7 +781,7 @@
input = ctxt->input;
if ((input->filename == NULL) && (ctxt->inputNr > 1))
input = ctxt->inputTab[ctxt->inputNr - 2];
-
+
if (had_info == 0) {
xmlParserPrintFileInfo(input);
}
@@ -790,7 +807,7 @@
* @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.
*/
@@ -809,7 +826,7 @@
xmlParserPrintFileInfo(input);
}
-
+
xmlGenericError(xmlGenericErrorContext, "validity warning: ");
XML_GET_VAR_STR(msg, str);
xmlGenericError(xmlGenericErrorContext, "%s", str);