Explorar o código

fix bug incrementing past end in search

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@109716 91177308-0d34-0410-b5e6-96231b3b80d8
Howard Hinnant %!s(int64=15) %!d(string=hai) anos
pai
achega
8daa733576
Modificáronse 1 ficheiros con 2 adicións e 2 borrados
  1. 2 2
      include/regex

+ 2 - 2
include/regex

@@ -1883,7 +1883,7 @@ public:
     virtual string speak() const
     {
         ostringstream os;
-        if (__invert_)
+        if (!__invert_)
             os << "__word_boundary";
         else
             os << "not __word_boundary";
@@ -5404,7 +5404,7 @@ basic_regex<_CharT, _Traits>::__search(
         __m.__suffix_.matched = __m.__suffix_.first != __m.__suffix_.second;
         return true;
     }
-    if (!(__flags & regex_constants::match_continuous))
+    if (__first != __last && !(__flags & regex_constants::match_continuous))
     {
         __m.__matches_.assign(__m.size(), __m.__unmatched_);
         for (++__first; __first != __last; ++__first)