From de8d65bb0bd70a7f2d13070bc1937ed8a25a6103 Mon Sep 17 00:00:00 2001 From: Armin Weatherwax Date: Tue, 26 Apr 2011 19:49:29 +0200 Subject: show llwarns instead of llinfos when llsd parsing fails and add the reason + line --- linden/indra/llcommon/llsdserialize.cpp | 46 ++++++++++++++--------------- linden/indra/llcommon/llsdserialize_xml.cpp | 23 +++++++++++++-- 2 files changed, 43 insertions(+), 26 deletions(-) diff --git a/linden/indra/llcommon/llsdserialize.cpp b/linden/indra/llcommon/llsdserialize.cpp index 9f4ce64..e2be922 100644 --- a/linden/indra/llcommon/llsdserialize.cpp +++ b/linden/indra/llcommon/llsdserialize.cpp @@ -441,7 +441,7 @@ S32 LLSDNotationParser::doParse(std::istream& istr, LLSD& data) const } if(istr.fail()) { - llinfos << "STREAM FAILURE reading map." << llendl; + llwarns << "STREAM FAILURE reading map." << llendl; parse_count = PARSE_FAILURE; } break; @@ -460,7 +460,7 @@ S32 LLSDNotationParser::doParse(std::istream& istr, LLSD& data) const } if(istr.fail()) { - llinfos << "STREAM FAILURE reading array." << llendl; + llwarns << "STREAM FAILURE reading array." << llendl; parse_count = PARSE_FAILURE; } break; @@ -496,7 +496,7 @@ S32 LLSDNotationParser::doParse(std::istream& istr, LLSD& data) const } if(istr.fail()) { - llinfos << "STREAM FAILURE reading boolean." << llendl; + llwarns << "STREAM FAILURE reading boolean." << llendl; parse_count = PARSE_FAILURE; } break; @@ -522,7 +522,7 @@ S32 LLSDNotationParser::doParse(std::istream& istr, LLSD& data) const } if(istr.fail()) { - llinfos << "STREAM FAILURE reading boolean." << llendl; + llwarns << "STREAM FAILURE reading boolean." << llendl; parse_count = PARSE_FAILURE; } break; @@ -535,7 +535,7 @@ S32 LLSDNotationParser::doParse(std::istream& istr, LLSD& data) const data = integer; if(istr.fail()) { - llinfos << "STREAM FAILURE reading integer." << llendl; + llwarns << "STREAM FAILURE reading integer." << llendl; parse_count = PARSE_FAILURE; } break; @@ -549,7 +549,7 @@ S32 LLSDNotationParser::doParse(std::istream& istr, LLSD& data) const data = real; if(istr.fail()) { - llinfos << "STREAM FAILURE reading real." << llendl; + llwarns << "STREAM FAILURE reading real." << llendl; parse_count = PARSE_FAILURE; } break; @@ -563,7 +563,7 @@ S32 LLSDNotationParser::doParse(std::istream& istr, LLSD& data) const data = id; if(istr.fail()) { - llinfos << "STREAM FAILURE reading uuid." << llendl; + llwarns << "STREAM FAILURE reading uuid." << llendl; parse_count = PARSE_FAILURE; } break; @@ -578,7 +578,7 @@ S32 LLSDNotationParser::doParse(std::istream& istr, LLSD& data) const } if(istr.fail()) { - llinfos << "STREAM FAILURE reading string." << llendl; + llwarns << "STREAM FAILURE reading string." << llendl; parse_count = PARSE_FAILURE; } break; @@ -600,7 +600,7 @@ S32 LLSDNotationParser::doParse(std::istream& istr, LLSD& data) const } if(istr.fail()) { - llinfos << "STREAM FAILURE reading link." << llendl; + llwarns << "STREAM FAILURE reading link." << llendl; parse_count = PARSE_FAILURE; } break; @@ -623,7 +623,7 @@ S32 LLSDNotationParser::doParse(std::istream& istr, LLSD& data) const } if(istr.fail()) { - llinfos << "STREAM FAILURE reading date." << llendl; + llwarns << "STREAM FAILURE reading date." << llendl; parse_count = PARSE_FAILURE; } break; @@ -636,14 +636,14 @@ S32 LLSDNotationParser::doParse(std::istream& istr, LLSD& data) const } if(istr.fail()) { - llinfos << "STREAM FAILURE reading data." << llendl; + llwarns << "STREAM FAILURE reading data." << llendl; parse_count = PARSE_FAILURE; } break; default: parse_count = PARSE_FAILURE; - llinfos << "Unrecognized character while parsing: int(" << (int)c + llwarns << "Unrecognized character while parsing: int(" << (int)c << ")" << llendl; break; } @@ -905,7 +905,7 @@ S32 LLSDBinaryParser::doParse(std::istream& istr, LLSD& data) const } if(istr.fail()) { - llinfos << "STREAM FAILURE reading binary map." << llendl; + llwarns << "STREAM FAILURE reading binary map." << llendl; parse_count = PARSE_FAILURE; } break; @@ -924,7 +924,7 @@ S32 LLSDBinaryParser::doParse(std::istream& istr, LLSD& data) const } if(istr.fail()) { - llinfos << "STREAM FAILURE reading binary array." << llendl; + llwarns << "STREAM FAILURE reading binary array." << llendl; parse_count = PARSE_FAILURE; } break; @@ -949,7 +949,7 @@ S32 LLSDBinaryParser::doParse(std::istream& istr, LLSD& data) const data = (S32)ntohl(value_nbo); if(istr.fail()) { - llinfos << "STREAM FAILURE reading binary integer." << llendl; + llwarns << "STREAM FAILURE reading binary integer." << llendl; } break; } @@ -961,7 +961,7 @@ S32 LLSDBinaryParser::doParse(std::istream& istr, LLSD& data) const data = ll_ntohd(real_nbo); if(istr.fail()) { - llinfos << "STREAM FAILURE reading binary real." << llendl; + llwarns << "STREAM FAILURE reading binary real." << llendl; } break; } @@ -973,7 +973,7 @@ S32 LLSDBinaryParser::doParse(std::istream& istr, LLSD& data) const data = id; if(istr.fail()) { - llinfos << "STREAM FAILURE reading binary uuid." << llendl; + llwarns << "STREAM FAILURE reading binary uuid." << llendl; } break; } @@ -994,7 +994,7 @@ S32 LLSDBinaryParser::doParse(std::istream& istr, LLSD& data) const } if(istr.fail()) { - llinfos << "STREAM FAILURE reading binary (notation-style) string." + llwarns << "STREAM FAILURE reading binary (notation-style) string." << llendl; parse_count = PARSE_FAILURE; } @@ -1014,7 +1014,7 @@ S32 LLSDBinaryParser::doParse(std::istream& istr, LLSD& data) const } if(istr.fail()) { - llinfos << "STREAM FAILURE reading binary string." << llendl; + llwarns << "STREAM FAILURE reading binary string." << llendl; parse_count = PARSE_FAILURE; } break; @@ -1033,7 +1033,7 @@ S32 LLSDBinaryParser::doParse(std::istream& istr, LLSD& data) const } if(istr.fail()) { - llinfos << "STREAM FAILURE reading binary link." << llendl; + llwarns << "STREAM FAILURE reading binary link." << llendl; parse_count = PARSE_FAILURE; } break; @@ -1046,7 +1046,7 @@ S32 LLSDBinaryParser::doParse(std::istream& istr, LLSD& data) const data = LLDate(real); if(istr.fail()) { - llinfos << "STREAM FAILURE reading binary date." << llendl; + llwarns << "STREAM FAILURE reading binary date." << llendl; parse_count = PARSE_FAILURE; } break; @@ -1075,7 +1075,7 @@ S32 LLSDBinaryParser::doParse(std::istream& istr, LLSD& data) const } if(istr.fail()) { - llinfos << "STREAM FAILURE reading binary." << llendl; + llwarns << "STREAM FAILURE reading binary." << llendl; parse_count = PARSE_FAILURE; } break; @@ -1083,7 +1083,7 @@ S32 LLSDBinaryParser::doParse(std::istream& istr, LLSD& data) const default: parse_count = PARSE_FAILURE; - llinfos << "Unrecognized character while parsing: int(" << (int)c + llwarns << "Unrecognized character while parsing: int(" << (int)c << ")" << llendl; break; } diff --git a/linden/indra/llcommon/llsdserialize_xml.cpp b/linden/indra/llcommon/llsdserialize_xml.cpp index 33206b4..dab6c1d 100644 --- a/linden/indra/llcommon/llsdserialize_xml.cpp +++ b/linden/indra/llcommon/llsdserialize_xml.cpp @@ -391,6 +391,14 @@ S32 LLSDXMLParser::Impl::parse(std::istream& input, LLSD& data) if (status == XML_STATUS_ERROR) { + std::string error_string( XML_ErrorString(XML_GetErrorCode( mParser ))); + if ("parsing aborted" != error_string )//end of input + { + S32 line_number = XML_GetCurrentLineNumber( mParser ); + llwarns << "LLXmlTree parse failed. Line " << line_number << ": " + << error_string << llendl; + } + break; } } @@ -408,7 +416,8 @@ S32 LLSDXMLParser::Impl::parse(std::istream& input, LLSD& data) { ((char*) buffer)[count ? count - 1 : 0] = '\0'; } - llinfos << "LLSDXMLParser::Impl::parse: XML_STATUS_ERROR parsing:" << (char*) buffer << llendl; + + data = LLSD(); return LLSDParser::PARSE_FAILURE; } @@ -486,7 +495,13 @@ S32 LLSDXMLParser::Impl::parseLines(std::istream& input, LLSD& data) if (status == XML_STATUS_ERROR && !mGracefullStop) { - llinfos << "LLSDXMLParser::Impl::parseLines: XML_STATUS_ERROR" << llendl; + std::string error_string( XML_ErrorString(XML_GetErrorCode( mParser ))); + if ("parsing aborted" != error_string )//end of input + { + S32 line_number = XML_GetCurrentLineNumber( mParser ); + llwarns << "LLXmlTree parse failed. Line " << line_number << ": " + << error_string << llendl; + } return LLSDParser::PARSE_FAILURE; } @@ -552,7 +567,9 @@ void LLSDXMLParser::Impl::parsePart(const char* buf, int len) XML_Status status = XML_Parse(mParser, buf, len, false); if (status == XML_STATUS_ERROR) { - llinfos << "Unexpected XML parsing error at start" << llendl; + std::string error_string( XML_ErrorString(XML_GetErrorCode( mParser )) ); + + llwarns << "Unexpected XML parsing error at start: " << error_string << llendl; } } } -- cgit v1.1