summaryrefslogtreecommitdiff
path: root/bundle/libxml/error.c
diff options
context:
space:
mode:
Diffstat (limited to 'bundle/libxml/error.c')
-rw-r--r--bundle/libxml/error.c420
1 files changed, 0 insertions, 420 deletions
diff --git a/bundle/libxml/error.c b/bundle/libxml/error.c
deleted file mode 100644
index d6266af051..0000000000
--- a/bundle/libxml/error.c
+++ /dev/null
@@ -1,420 +0,0 @@
-/*
- * error.c: module displaying/handling XML parser errors
- *
- * See Copyright for the status of this software.
- *
- * Daniel Veillard <daniel@veillard.com>
- */
-
-#define IN_LIBXML
-#include "libxml.h"
-
-#include <stdarg.h>
-#include <libxml/parser.h>
-#include <libxml/xmlerror.h>
-#include <libxml/xmlmemory.h>
-#include <libxml/globals.h>
-
-void xmlGenericErrorDefaultFunc (void *ctx ATTRIBUTE_UNUSED,
- const char *msg,
- ...);
-
-#define XML_GET_VAR_STR(msg, str) { \
- int size; \
- int chars; \
- char *larger; \
- va_list ap; \
- \
- str = (char *) xmlMalloc(150); \
- if (str == NULL) \
- return; \
- \
- size = 150; \
- \
- while (1) { \
- va_start(ap, msg); \
- chars = vsnprintf(str, size, msg, ap); \
- va_end(ap); \
- if ((chars > -1) && (chars < size)) \
- break; \
- if (chars > -1) \
- size += chars + 1; \
- else \
- size += 100; \
- if ((larger = (char *) xmlRealloc(str, size)) == NULL) {\
- xmlFree(str); \
- return; \
- } \
- str = larger; \
- } \
-}
-
-/************************************************************************
- * *
- * Handling of out of context errors *
- * *
- ************************************************************************/
-
-/**
- * xmlGenericErrorDefaultFunc:
- * @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
-xmlGenericErrorDefaultFunc(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...) {
- va_list args;
-
- if (xmlGenericErrorContext == NULL)
- xmlGenericErrorContext = (void *) stderr;
-
- va_start(args, msg);
- vfprintf((FILE *)xmlGenericErrorContext, msg, args);
- va_end(args);
-}
-
-/**
- * initGenericErrorDefaultFunc:
- * @handler: the handler
- *
- * Set or reset (if NULL) the default handler for generic errors
- */
-void
-initGenericErrorDefaultFunc(xmlGenericErrorFunc * handler)
-{
- if (handler == NULL)
- xmlGenericError = xmlGenericErrorDefaultFunc;
- else
- (*handler) = xmlGenericErrorDefaultFunc;
-}
-
-/**
- * xmlSetGenericErrorFunc:
- * @ctx: the new error handling context
- * @handler: the new handler function
- *
- * Function to reset the handler and the error context for out of
- * context error messages.
- * This simply means that @handler will be called for subsequent
- * error messages while not parsing nor validating. And @ctx will
- * be passed as first argument to @handler
- * One can simply force messages to be emitted to another FILE * than
- * stderr by setting @ctx to this file handle and @handler to NULL.
- */
-void
-xmlSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler) {
- xmlGenericErrorContext = ctx;
- if (handler != NULL)
- xmlGenericError = handler;
- else
- xmlGenericError = xmlGenericErrorDefaultFunc;
-}
-
-/************************************************************************
- * *
- * Handling of parsing errors *
- * *
- ************************************************************************/
-
-/**
- * xmlParserPrintFileInfo:
- * @input: an xmlParserInputPtr input
- *
- * Displays the associated file and line informations for the current input
- */
-
-void
-xmlParserPrintFileInfo(xmlParserInputPtr input) {
- if (input != NULL) {
- if (input->filename)
- xmlGenericError(xmlGenericErrorContext,
- "%s:%d: ", input->filename,
- input->line);
- else
- xmlGenericError(xmlGenericErrorContext,
- "Entity: line %d: ", input->line);
- }
-}
-
-/**
- * xmlParserPrintFileContext:
- * @input: an xmlParserInputPtr input
- *
- * Displays current context within the input content for error tracking
- */
-
-void
-xmlParserPrintFileContext(xmlParserInputPtr input) {
- const xmlChar *cur, *base;
- int n;
- xmlChar content[81];
- xmlChar *ctnt;
-
- if (input == NULL) return;
- cur = input->cur;
- base = input->base;
- /* skip backwards over any end-of-lines */
- while ((cur > base) && ((*cur == '\n') || (*cur == '\r'))) {
- cur--;
- }
- n = 0;
- /* search backwards for beginning-of-line maximum 80 characters */
- while ((n++ < 80) && (cur > base) && (*cur != '\n') && (*cur != '\r'))
- cur--;
- if ((*cur == '\n') || (*cur == '\r')) cur++;
- /* search forward for end-of-line maximum 80 characters */
- n = 0;
- ctnt = content;
- while ((*cur != 0) && (*cur != '\n') && (*cur != '\r') && (n < 79)) {
- *ctnt++ = *cur++;
- n++;
- }
- *ctnt = 0;
- xmlGenericError(xmlGenericErrorContext,"%s\n", content);
- /* create blank line with problem pointer */
- cur = input->cur;
- while ((cur > base) && ((*cur == '\n') || (*cur == '\r'))) {
- cur--;
- }
- n = 0;
- ctnt = content;
- while ((n++ < 79) && (cur > base) && (*cur != '\n') && (*cur != '\r')) {
- *ctnt++ = ' ';
- cur--;
- }
- if (ctnt > content) {
- *(--ctnt) = '^';
- *(++ctnt) = 0;
- } else {
- *ctnt = '^';
- *(++ctnt) = 0;
- }
- xmlGenericError(xmlGenericErrorContext,"%s\n", content);
-}
-
-#if 0
-/**
- * xmlGetVarStr:
- * @msg: the message format
- * @args: a va_list argument list
- *
- * SGS contribution
- * Get an arbitrary-sized string for an error argument
- * The caller must free() the returned string
- */
-static char *
-xmlGetVarStr(const char * msg, va_list args) {
- int size;
- int length;
- int chars, left;
- char *str, *larger;
- va_list ap;
-
- str = (char *) xmlMalloc(150);
- if (str == NULL)
- return(NULL);
-
- size = 150;
- length = 0;
-
- while (1) {
- left = size - length;
- /* Try to print in the allocated space. */
- va_start(msg, ap);
- chars = vsnprintf(str + length, left, msg, ap);
- va_end(ap);
- /* If that worked, we're done. */
- if ((chars > -1) && (chars < left ))
- break;
- /* Else try again with more space. */
- if (chars > -1) /* glibc 2.1 */
- size += chars + 1; /* precisely what is needed */
- else /* glibc 2.0 */
- size += 100;
- if ((larger = (char *) xmlRealloc(str, size)) == NULL) {
- xmlFree(str);
- return(NULL);
- }
- str = larger;
- }
- return(str);
-}
-#endif
-
-/**
- * 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
-xmlParserError(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
-xmlParserWarning(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
-xmlParserValidityError(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;
- int need_context = 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: ");
- need_context = 1;
- 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
-xmlParserValidityWarning(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);
- }
-}
-
-