Fix problem with match_any and POSIX-style matches (match results structure wasn't getting filled in).

Fixed problem with gcc in -pedantic mode.


[SVN r26348]
This commit is contained in:
John Maddock
2004-11-29 13:50:17 +00:00
parent 916dbeadbf
commit ab6f20486b
2 changed files with 8 additions and 3 deletions

View File

@ -60,7 +60,11 @@ template class BOOST_REGEX_DECL reg_expression< BOOST_REGEX_CHAR_T >;
#elif (defined(BOOST_MSVC) && defined(_MSC_EXTENSIONS)) || defined(__GNUC__) #elif (defined(BOOST_MSVC) && defined(_MSC_EXTENSIONS)) || defined(__GNUC__)
# ifndef BOOST_REGEX_INSTANTIATE # ifndef BOOST_REGEX_INSTANTIATE
# define template extern template # ifdef __GNUC__
# define template __extension__ extern template
# else
# define template extern template
# endif
# endif # endif
# ifdef BOOST_MSVC # ifdef BOOST_MSVC

View File

@ -413,10 +413,11 @@ bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::match_match()
m_presult->set_second(position); m_presult->set_second(position);
pstate = 0; pstate = 0;
m_has_found_match = true; m_has_found_match = true;
if((m_match_flags & (match_posix|match_any)) == match_posix) if((m_match_flags & match_posix) == match_posix)
{ {
m_result.maybe_assign(*m_presult); m_result.maybe_assign(*m_presult);
return false; if((m_match_flags & match_any) == 0)
return false;
} }
#ifdef BOOST_REGEX_MATCH_EXTRA #ifdef BOOST_REGEX_MATCH_EXTRA
if(match_extra & m_match_flags) if(match_extra & m_match_flags)