X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9d55bfef2cb35ac07972e76c786d265c9b35d230..acd32ffcdb319f162633c20e0202db3f8542998a:/src/common/regex.cpp diff --git a/src/common/regex.cpp b/src/common/regex.cpp index 7879616899..30dddf3804 100644 --- a/src/common/regex.cpp +++ b/src/common/regex.cpp @@ -27,9 +27,10 @@ #if wxUSE_REGEX +#include "wx/regex.h" + #ifndef WX_PRECOMP #include "wx/object.h" - #include "wx/string.h" #include "wx/log.h" #include "wx/intl.h" #include "wx/crt.h" @@ -44,7 +45,6 @@ #endif #include -#include "wx/regex.h" // WXREGEX_USING_BUILTIN defined when using the built-in regex lib // WXREGEX_USING_RE_SEARCH defined when using re_search in the GNU regex lib @@ -282,12 +282,14 @@ bool wxRegExImpl::Compile(const wxString& expr, int flags) // translate our flags to regcomp() ones int flagsRE = 0; if ( !(flags & wxRE_BASIC) ) + { #ifndef WX_NO_REGEX_ADVANCED if (flags & wxRE_ADVANCED) flagsRE |= REG_ADVANCED; else #endif flagsRE |= REG_EXTENDED; + } if ( flags & wxRE_ICASE ) flagsRE |= REG_ICASE; if ( flags & wxRE_NOSUB ) @@ -376,7 +378,7 @@ static int ReSearch(const regex_t *preg, re_registers *matches, int eflags) { - regex_t *pattern = wx_const_cast(regex_t*, preg); + regex_t *pattern = const_cast(preg); pattern->not_bol = (eflags & REG_NOTBOL) != 0; pattern->not_eol = (eflags & REG_NOTEOL) != 0; @@ -513,10 +515,11 @@ int wxRegExImpl::Replace(wxString *text, // note that "^" shouldn't match after the first call to Matches() so we // use wxRE_NOTBOL to prevent it from happening while ( (!maxMatches || countRepl < maxMatches) && + Matches( #ifndef WXREGEX_CONVERT_TO_MB - Matches(textstr + matchStart, + textstr + matchStart, #else - Matches(textstr.data() + matchStart, + textstr.data() + matchStart, #endif countRepl ? wxRE_NOTBOL : 0 WXREGEX_IF_NEED_LEN(textlen - matchStart)) )