+ errorstream << "You have stray characters beyond the tag which starts at " << filename << ":" << last_successful_parse << std::endl;
+ return false;
+ }
+
if (ch == '<')
{
if (in_tag)
{
if (!in_quote)
{
if (ch == '<')
{
if (in_tag)
{
if (!in_quote)
{
- errorstream << "Got another opening < when the first one wasn't closed: " << filename << ":" << linenumber << std::endl;
+ errorstream << "The tag at location " << filename << ":" << last_successful_parse << " was valid, but there is an error in the tag which comes after it. You are possibly missing a \" or >. Please check this." << std::endl;
- errorstream << "We're in a quote but outside a tag, interesting. " << filename << ":" << linenumber << std::endl;
+ errorstream << "Parser error: Inside a quote but not within the last valid tag, which was opened at: " << filename << ":" << last_successful_parse << std::endl;
- errorstream << "Found a (closing) \" outside a tag: " << filename << ":" << linenumber << std::endl;
+ errorstream << "The tag immediately after the one at " << filename << ":" << last_successful_parse << " has a missing closing \" symbol. Please check this." << std::endl;
}
else
{
}
else
{
- errorstream << "Found a (opening) \" outside a tag: " << filename << ":" << linenumber << std::endl;
+ errorstream << "You have opened a quote (\") beyond the tag at " << filename << ":" << last_successful_parse << " without opening a new tag. Please check this." << std::endl;
+ errorstream << "Invalid character in value name of tag: '" << *c << "' in value '" << tagname << "' in filename: " << filename << ":" << linenumber << std::endl;
+ return false;
+ }
}
}
else
}
}
else
@@ -1557,11+1589,17 @@ bool ServerConfig::ParseLine(ConfigDataHash &target, std::string &line, long &li