From: erickson Date: Thu, 8 Nov 2007 14:31:59 +0000 (+0000) Subject: additionally logging filename and XML content on parse failures X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=e1bf0e9297df3106f61f3f37b28be4dee93792c9;p=Evergreen.git additionally logging filename and XML content on parse failures git-svn-id: svn://svn.open-ils.org/ILS/trunk@8038 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/src/apachemods/mod_xmlent.c b/Open-ILS/src/apachemods/mod_xmlent.c index 757dd794bb..07379c11e1 100644 --- a/Open-ILS/src/apachemods/mod_xmlent.c +++ b/Open-ILS/src/apachemods/mod_xmlent.c @@ -339,10 +339,15 @@ static int xmlEntHandler( ap_filter_t *f, apr_bucket_brigade *brigade ) { /* push data into the XML push parser */ if ( XML_Parse(ctx->parser, data, len, 0) == XML_STATUS_ERROR ) { + char tmp[len+1]; + memcpy(tmp, data, len); + tmp[len] = '\0'; + /* log and die on XML errors */ - ap_log_rerror( APLOG_MARK, APLOG_ERR, 0, f->r, "XMLENT XML Parse Error: %s at line %d\n", + ap_log_rerror( APLOG_MARK, APLOG_ERR, 0, f->r, + "XMLENT XML Parse Error: %s at line %d: parsing %s: data %s", XML_ErrorString(XML_GetErrorCode(ctx->parser)), - (int) XML_GetCurrentLineNumber(ctx->parser)); + (int) XML_GetCurrentLineNumber(ctx->parser), f->r->filename, tmp); XML_ParserFree(parser); parser = NULL;