///////////////////////////////////////////////////////////////////////////////
// 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 <ballueder@gmx.net>
+// Copyright: (c) 2000 Karsten Ballueder <ballueder@gmx.net>
// 2001 Vadim Zeitlin <vadim@wxwindows.org>
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#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"
#endif
#include <regex.h>
-#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
// 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 )
re_registers *matches,
int eflags)
{
- regex_t *pattern = wx_const_cast(regex_t*, preg);
+ regex_t *pattern = const_cast<regex_t*>(preg);
pattern->not_bol = (eflags & REG_NOTBOL) != 0;
pattern->not_eol = (eflags & REG_NOTEOL) != 0;
// 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)) )