summaryrefslogtreecommitdiff
path: root/boost/spirit/home/qi/string/tst_map.hpp
diff options
context:
space:
mode:
authorChanho Park <chanho61.park@samsung.com>2014-12-11 18:55:56 +0900
committerChanho Park <chanho61.park@samsung.com>2014-12-11 18:55:56 +0900
commit08c1e93fa36a49f49325a07fe91ff92c964c2b6c (patch)
tree7a7053ceb8874b28ec4b868d4c49b500008a102e /boost/spirit/home/qi/string/tst_map.hpp
parentbb4dd8289b351fae6b55e303f189127a394a1edd (diff)
downloadboost-08c1e93fa36a49f49325a07fe91ff92c964c2b6c.tar.gz
boost-08c1e93fa36a49f49325a07fe91ff92c964c2b6c.tar.bz2
boost-08c1e93fa36a49f49325a07fe91ff92c964c2b6c.zip
Imported Upstream version 1.57.0upstream/1.57.0
Diffstat (limited to 'boost/spirit/home/qi/string/tst_map.hpp')
-rw-r--r--boost/spirit/home/qi/string/tst_map.hpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/boost/spirit/home/qi/string/tst_map.hpp b/boost/spirit/home/qi/string/tst_map.hpp
index 0ea838c42e..a3208f2743 100644
--- a/boost/spirit/home/qi/string/tst_map.hpp
+++ b/boost/spirit/home/qi/string/tst_map.hpp
@@ -54,16 +54,20 @@ namespace boost { namespace spirit { namespace qi
Iterator save = first;
typename map_type::const_iterator
i = map.find(filter(*first++));
- if (i == map.end())
- {
- first = save;
- return 0;
- }
- if (T* p = node::find(i->second.root, first, last, filter))
+
+ if (i != map.end())
{
- return p;
+ if (T* p = node::find(i->second.root, first, last, filter))
+ {
+ return p;
+ }
+
+ if (i->second.data)
+ {
+ return i->second.data;
+ }
}
- return i->second.data;
+ first = save;
}
return 0;
}