]> git.saurik.com Git - wxWidgets.git/commitdiff
a better fix for using builtin regex under BSD (also fixes compilation for Mac OS...
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 4 Feb 2005 09:37:55 +0000 (09:37 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 4 Feb 2005 09:37:55 +0000 (09:37 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31747 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/regex.cpp
src/regex/regcustom.h
src/regex/regex.h

index 8ae727359c27b2ba20682a2e0ba284cf2b693247..896d2ad248d0ddb74fff668efab5078c17abc4a3 100644 (file)
@@ -199,7 +199,7 @@ bool wxRegExImpl::Compile(const wxString& expr, int flags)
     // compile it
 #ifdef __REG_NOFRONT
     bool conv = true;
     // compile it
 #ifdef __REG_NOFRONT
     bool conv = true;
-    int errorcode = re_comp(&m_RegEx, expr, expr.length(), flagsRE);
+    int errorcode = wx_re_comp(&m_RegEx, expr, expr.length(), flagsRE);
 #else
     const wxWX2MBbuf conv = expr.mbc_str();
     int errorcode = conv ? regcomp(&m_RegEx, conv, flagsRE) : REG_BADPAT;
 #else
     const wxWX2MBbuf conv = expr.mbc_str();
     int errorcode = conv ? regcomp(&m_RegEx, conv, flagsRE) : REG_BADPAT;
@@ -283,7 +283,7 @@ bool wxRegExImpl::Matches(const wxChar *str, int flags) const
     // do match it
 #ifdef __REG_NOFRONT
     bool conv = true;
     // do match it
 #ifdef __REG_NOFRONT
     bool conv = true;
-    int rc = re_exec(&self->m_RegEx, str, wxStrlen(str), NULL, m_nMatches, m_Matches, flagsRE);
+    int rc = wx_re_exec(&self->m_RegEx, str, wxStrlen(str), NULL, m_nMatches, m_Matches, flagsRE);
 #else
     const wxWX2MBbuf conv = wxConvertWX2MB(str);
     int rc = conv ? regexec(&self->m_RegEx, conv, m_nMatches, m_Matches, flagsRE) : REG_BADPAT;
 #else
     const wxWX2MBbuf conv = wxConvertWX2MB(str);
     int rc = conv ? regexec(&self->m_RegEx, conv, m_nMatches, m_Matches, flagsRE) : REG_BADPAT;
index f3018b2574f79c2104a6d28e7f9883a51b2a1779..0e2d199121fe9bd685f9085955749bcb1c2d5562 100644 (file)
 #endif
 #if wxUSE_UNICODE
 #   define  __REG_WIDE_T        wxChar
 #endif
 #if wxUSE_UNICODE
 #   define  __REG_WIDE_T        wxChar
-#   define  __REG_WIDE_COMPILE  re_comp
-#   define  __REG_WIDE_EXEC     re_exec
+#   define  __REG_WIDE_COMPILE  wx_re_comp
+#   define  __REG_WIDE_EXEC     wx_re_exec
 #   define  __REG_NOCHAR        /* don't want the char versions */
 #endif
 #define __REG_NOFRONT           /* don't want regcomp() and regexec() */
 #define _ANSI_ARGS_(x)          x
 #   define  __REG_NOCHAR        /* don't want the char versions */
 #endif
 #define __REG_NOFRONT           /* don't want regcomp() and regexec() */
 #define _ANSI_ARGS_(x)          x
-
-/* under FreeBSD re_comp and re_exec are declared (differently) in unistd.h */
-#ifdef __FreeBSD__
-#define re_comp wx_re_comp
-#define re_exec wx_re_exec
-#endif
 /* --- end --- */
 
 /* internal character type and related */
 /* --- end --- */
 
 /* internal character type and related */
@@ -119,8 +113,8 @@ typedef int celt;               /* type to hold chr, MCCE number, or NOCELT */
 #define iscspace(x)     ((wxUChar)(x) < 128 && isspace(x))
 
 /* name the external functions */
 #define iscspace(x)     ((wxUChar)(x) < 128 && isspace(x))
 
 /* name the external functions */
-#define compile         re_comp
-#define exec            re_exec
+#define compile         wx_re_comp
+#define exec            wx_re_exec
 
 /* enable/disable debugging code (by whether REG_DEBUG is defined or not) */
 #if 0           /* no debug unless requested by makefile */
 
 /* enable/disable debugging code (by whether REG_DEBUG is defined or not) */
 #if 0           /* no debug unless requested by makefile */
index 5bcda32dece22507c32854880650398b3c9b2dd7..03498bbf7b659e5dcc3463185152ea191d289476 100644 (file)
@@ -109,18 +109,12 @@ extern "C" {
 #endif
 #if wxUSE_UNICODE
 #   define  __REG_WIDE_T        wxChar
 #endif
 #if wxUSE_UNICODE
 #   define  __REG_WIDE_T        wxChar
-#   define  __REG_WIDE_COMPILE  re_comp
-#   define  __REG_WIDE_EXEC     re_exec
+#   define  __REG_WIDE_COMPILE  wx_re_comp
+#   define  __REG_WIDE_EXEC     wx_re_exec
 #   define  __REG_NOCHAR        /* don't want the char versions */
 #endif
 #define __REG_NOFRONT           /* don't want regcomp() and regexec() */
 #define _ANSI_ARGS_(x)          x
 #   define  __REG_NOCHAR        /* don't want the char versions */
 #endif
 #define __REG_NOFRONT           /* don't want regcomp() and regexec() */
 #define _ANSI_ARGS_(x)          x
-
-/* under FreeBSD re_comp and re_exec are declared (differently) in unistd.h */
-#ifdef __FreeBSD__
-#define re_comp wx_re_comp
-#define re_exec wx_re_exec
-#endif
 /* --- end --- */
 
 
 /* --- end --- */
 
 
@@ -307,7 +301,7 @@ typedef struct {
 /* automatically gathered by fwd; do not hand-edit */
 /* === regproto.h === */
 #ifndef __REG_NOCHAR
 /* automatically gathered by fwd; do not hand-edit */
 /* === regproto.h === */
 #ifndef __REG_NOCHAR
-int re_comp _ANSI_ARGS_((regex_t *, __REG_CONST char *, size_t, int));
+int wx_re_comp _ANSI_ARGS_((regex_t *, __REG_CONST char *, size_t, int));
 #endif
 #ifndef __REG_NOFRONT
 int regcomp _ANSI_ARGS_((regex_t *, __REG_CONST char *, int));
 #endif
 #ifndef __REG_NOFRONT
 int regcomp _ANSI_ARGS_((regex_t *, __REG_CONST char *, int));
@@ -316,7 +310,7 @@ int regcomp _ANSI_ARGS_((regex_t *, __REG_CONST char *, int));
 int __REG_WIDE_COMPILE _ANSI_ARGS_((regex_t *, __REG_CONST __REG_WIDE_T *, size_t, int));
 #endif
 #ifndef __REG_NOCHAR
 int __REG_WIDE_COMPILE _ANSI_ARGS_((regex_t *, __REG_CONST __REG_WIDE_T *, size_t, int));
 #endif
 #ifndef __REG_NOCHAR
-int re_exec _ANSI_ARGS_((regex_t *, __REG_CONST char *, size_t, rm_detail_t *, size_t, regmatch_t [], int));
+int wx_re_exec _ANSI_ARGS_((regex_t *, __REG_CONST char *, size_t, rm_detail_t *, size_t, regmatch_t [], int));
 #endif
 #ifndef __REG_NOFRONT
 int regexec _ANSI_ARGS_((regex_t *, __REG_CONST char *, size_t, regmatch_t [], int));
 #endif
 #ifndef __REG_NOFRONT
 int regexec _ANSI_ARGS_((regex_t *, __REG_CONST char *, size_t, regmatch_t [], int));