diff --git a/include/boost/regex/v4/match_results.hpp b/include/boost/regex/v4/match_results.hpp index 47178c5f..88fb1666 100644 --- a/include/boost/regex/v4/match_results.hpp +++ b/include/boost/regex/v4/match_results.hpp @@ -103,7 +103,7 @@ public: { sub += 2; string_type result; - if(sub < m_subs.size() && (sub > 0)) + if(sub < (int)m_subs.size() && (sub > 0)) { const sub_match& s = m_subs[sub]; if(s.matched) diff --git a/include/boost/regex/v4/perl_matcher_common.hpp b/include/boost/regex/v4/perl_matcher_common.hpp index 41dd2394..6024a133 100644 --- a/include/boost/regex/v4/perl_matcher_common.hpp +++ b/include/boost/regex/v4/perl_matcher_common.hpp @@ -104,6 +104,7 @@ bool perl_matcher::match() position = base; search_base = base; state_count = 0; + m_match_flags |= regex_constants::match_all; m_presult->set_size((m_match_flags & match_nosubs) ? 1 : re.mark_count(), base, last); m_presult->set_base(base); if(m_match_flags & match_posix) @@ -691,7 +692,7 @@ bool perl_matcher::find_restart_lin } if(position == last) return false; - ++position; + //++position; } return false; }