X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7e1df0e6388ae764d462c3c199797c5f16d08d57..02fd8b9b6186623ed61019ac7e69ed9a4ef16773:/src/common/regex.cpp diff --git a/src/common/regex.cpp b/src/common/regex.cpp index 58c50f399d..30dddf3804 100644 --- a/src/common/regex.cpp +++ b/src/common/regex.cpp @@ -1,11 +1,11 @@ /////////////////////////////////////////////////////////////////////////////// // Name: src/common/regex.cpp // Purpose: regular expression matching -// Author: Karsten Ballüder and Vadim Zeitlin +// Author: Karsten Ballueder and Vadim Zeitlin // Modified by: // Created: 13.07.01 // RCS-ID: $Id$ -// Copyright: (c) 2000 Karsten Ballüder +// Copyright: (c) 2000 Karsten Ballueder // 2001 Vadim Zeitlin // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -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)) )