From d7d65204df6036f9e95ec583bbca93a0a71cdf28 Mon Sep 17 00:00:00 2001 From: Liny Date: Sat, 14 May 2011 18:43:04 -0700 Subject: [PATCH] Make the client error out if it fails to parse an xml file (only errors if built with debug info or is debug build, release wont error). This should make it easier to catch XML format errors before commiting them. --- indra/llxml/llxmlnode.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/indra/llxml/llxmlnode.cpp b/indra/llxml/llxmlnode.cpp index ca7b533202..0ded482d16 100644 --- a/indra/llxml/llxmlnode.cpp +++ b/indra/llxml/llxmlnode.cpp @@ -710,7 +710,13 @@ LLXMLNodePtr LLXMLNode::replaceNode(LLXMLNodePtr node, LLXMLNodePtr update_node) bool LLXMLNode::parseFile(const std::string& filename, LLXMLNodePtr& node, LLXMLNode* defaults_tree) { // Read file - LL_DEBUGS("XMLNode") << "parsing XML file: " << filename << LL_ENDL; +#ifdef LL_RELEASE_WITH_DEBUG_INFO + LL_INFOS("XMLNode") << "parsing XML file: " << filename << LL_ENDL; +#elif defined LL_DEBUG + LL_INFOS("XMLNode") << "parsing XML file: " << filename << LL_ENDL; +#else + LL_DEBUGS("XMLNode") << "parsing XML file: " << filename << LL_ENDL; +#endif //LL_RELEASE_WITH_DEBUG_INFO LLFILE* fp = LLFile::fopen(filename, "rb"); /* Flawfinder: ignore */ if (fp == NULL) { @@ -754,7 +760,14 @@ bool LLXMLNode::parseBuffer( // Do the parsing if (XML_Parse(my_parser, (const char *)buffer, length, TRUE) != XML_STATUS_OK) { - llwarns << "Error parsing xml error code: " +#ifdef LL_RELEASE_WITH_DEBUG_INFO + llerrs; +#elif defined LL_DEBUG + llerrs; +#else + llwarns; +#endif //LL_RELEASE_WITH_DEBUG_INFO + llcont << "Error parsing xml error code: " << XML_ErrorString(XML_GetErrorCode(my_parser)) << " on line " << XML_GetCurrentLineNumber(my_parser) << llendl;