summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorarseny.kapoulkine <arseny.kapoulkine@99668b35-9821-0410-8761-19e4c4f06640>2010-08-03 09:30:46 +0000
committerarseny.kapoulkine <arseny.kapoulkine@99668b35-9821-0410-8761-19e4c4f06640>2010-08-03 09:30:46 +0000
commitcab68ab3289fd8f8ff2a92a3bf74ed8195ce2b7c (patch)
tree53eacf3f3c5cb3130223bf0034dad9ecc59a5224
parentf533923f1fe5b1b75771ced133858d6b23cde512 (diff)
XPath: Added a workaround for DMC bug
git-svn-id: http://pugixml.googlecode.com/svn/trunk@622 99668b35-9821-0410-8761-19e4c4f06640
-rw-r--r--src/pugixpath.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/pugixpath.cpp b/src/pugixpath.cpp
index 56775af..efb170b 100644
--- a/src/pugixpath.cpp
+++ b/src/pugixpath.cpp
@@ -2377,7 +2377,9 @@ namespace pugi
for (string_t::iterator it = s.begin(); it != s.end(); )
{
- string_t::size_type pos = from.find(*it);
+ char_t ch = *it; // explicitly store to local to work around DMC bug (it loads 4 bytes from &*it otherwise)
+
+ string_t::size_type pos = from.find(ch);
if (pos == string_t::npos)
++it;