diff options
Diffstat (limited to 'linden/indra/llcommon/llsdserialize_xml.cpp')
-rw-r--r-- | linden/indra/llcommon/llsdserialize_xml.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/linden/indra/llcommon/llsdserialize_xml.cpp b/linden/indra/llcommon/llsdserialize_xml.cpp index 7729a5f..7c3dcbf 100644 --- a/linden/indra/llcommon/llsdserialize_xml.cpp +++ b/linden/indra/llcommon/llsdserialize_xml.cpp | |||
@@ -394,13 +394,15 @@ S32 LLSDXMLParser::Impl::parse(std::istream& input, LLSD& data) | |||
394 | if (status == XML_STATUS_ERROR) | 394 | if (status == XML_STATUS_ERROR) |
395 | { | 395 | { |
396 | std::string error_string(XML_ErrorString(XML_GetErrorCode( mParser ))); | 396 | std::string error_string(XML_ErrorString(XML_GetErrorCode( mParser ))); |
397 | // if (input.gcount() == 0) | 397 | // I know, this if seems odd, but it fixes a problem with not being able to see nearby sims, or TP to other sims. |
398 | // { | 398 | // No idea why. |
399 | // // nothing to do -- MC | 399 | if (input && (input.gcount() == 0)) |
400 | // data = LLSD(); | 400 | { |
401 | // return LLSDParser::PARSE_FAILURE; | 401 | // nothing to do -- MC |
402 | // } | 402 | data = LLSD(); |
403 | /*else*/ if (error_string != "parsing aborted") // end of input | 403 | return LLSDParser::PARSE_FAILURE; |
404 | } | ||
405 | else if (error_string != "parsing aborted") // end of input | ||
404 | { | 406 | { |
405 | S32 line_number = XML_GetCurrentLineNumber( mParser ); | 407 | S32 line_number = XML_GetCurrentLineNumber( mParser ); |
406 | // This parses LLCurl::Responder::completedRaw always, even | 408 | // This parses LLCurl::Responder::completedRaw always, even |