XPath: Fixed contains() for broken STL implementations

git-svn-id: http://pugixml.googlecode.com/svn/trunk@197 99668b35-9821-0410-8761-19e4c4f06640
This commit is contained in:
arseny.kapoulkine 2009-10-30 20:08:31 +00:00
parent 5346828488
commit 3e8f9a6e2c

View file

@ -1930,7 +1930,12 @@ namespace pugi
return starts_with(m_left->eval_string(c), m_right->eval_string(c).c_str());
case ast_func_contains:
return m_left->eval_string(c).find(m_right->eval_string(c)) != std::string::npos;
{
std::string lr = m_left->eval_string(c);
std::string rr = m_right->eval_string(c);
return rr.empty() || lr.find(rr) != std::string::npos;
}
case ast_func_boolean:
return m_left->eval_boolean(c);