diff options
author | Chanho Park <chanho61.park@samsung.com> | 2014-12-11 18:55:56 +0900 |
---|---|---|
committer | Chanho Park <chanho61.park@samsung.com> | 2014-12-11 18:55:56 +0900 |
commit | 08c1e93fa36a49f49325a07fe91ff92c964c2b6c (patch) | |
tree | 7a7053ceb8874b28ec4b868d4c49b500008a102e /boost/spirit/home/qi/string/tst_map.hpp | |
parent | bb4dd8289b351fae6b55e303f189127a394a1edd (diff) | |
download | boost-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.hpp | 20 |
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; } |