0
0
mirror of https://github.com/zeux/pugixml.git synced 2025-01-14 09:57:57 +08:00

XPath: xpath_parse_result is now default-initialized to object with failed status

git-svn-id: http://pugixml.googlecode.com/svn/trunk@738 99668b35-9821-0410-8761-19e4c4f06640
This commit is contained in:
arseny.kapoulkine 2010-09-20 19:06:45 +00:00
parent d35f6751cf
commit 612fa49d1d
2 changed files with 12 additions and 8 deletions

View File

@ -9016,9 +9016,6 @@ namespace pugi
xpath_query::xpath_query(const char_t* query, xpath_variable_set* variables): _alloc(0), _root(0)
{
_result.error = 0;
_result.offset = 0;
xpath_allocator* alloc = xpath_allocator::create();
if (!alloc)
@ -9035,10 +9032,11 @@ namespace pugi
_root = xpath_parser::parse(query, variables, alloc, &_result);
#ifdef PUGIXML_NO_EXCEPTIONS
if (_root) // only store allocator if parsing was a success
#endif
_alloc = static_cast<xpath_allocator*>(alloc_holder.release());
if (_root)
{
_alloc = static_cast<xpath_allocator*>(alloc_holder.release());
_result.error = 0;
}
}
}
@ -9127,7 +9125,9 @@ namespace pugi
#ifdef PUGIXML_NO_EXCEPTIONS
return xpath_node_set();
#else
xpath_parse_result result = {"Expression does not evaluate to node set", 0};
xpath_parse_result result;
result.error = "Expression does not evaluate to node set";
throw xpath_exception(result);
#endif
}

View File

@ -1775,6 +1775,10 @@ namespace pugi
/// Last parsed offset (in characters from string start)
ptrdiff_t offset;
xpath_parse_result(): error("Internal error"), offset(0)
{
}
/// Cast to bool operator
operator bool() const
{