]> git.saurik.com Git - wxWidgets.git/commitdiff
Initial revision
authorRyan Norton <wxprojects@comcast.net>
Wed, 2 Jun 1999 01:53:29 +0000 (01:53 +0000)
committerRyan Norton <wxprojects@comcast.net>
Wed, 2 Jun 1999 01:53:29 +0000 (01:53 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2632 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/regex/regfronts.c [new file with mode: 0644]

diff --git a/src/regex/regfronts.c b/src/regex/regfronts.c
new file mode 100644 (file)
index 0000000..82f48e2
--- /dev/null
@@ -0,0 +1,83 @@
+/*
+ * regcomp and regexec - front ends to re_ routines
+ *
+ * Mostly for implementation of backward-compatibility kludges.  Note
+ * that these routines exist ONLY in char versions.
+ *
+ * Copyright (c) 1998, 1999 Henry Spencer.  All rights reserved.
+ * 
+ * Development of this software was funded, in part, by Cray Research Inc.,
+ * UUNET Communications Services Inc., Sun Microsystems Inc., and Scriptics
+ * Corporation, none of whom are responsible for the results.  The author
+ * thanks all of them. 
+ * 
+ * Redistribution and use in source and binary forms -- with or without
+ * modification -- are permitted for any purpose, provided that
+ * redistributions in source form retain this entire copyright notice and
+ * indicate the origin and nature of any modifications.
+ * 
+ * I'd appreciate being given credit for this package in the documentation
+ * of software which uses it, but that is not a requirement.
+ * 
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+ * HENRY SPENCER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include "regguts.h"
+
+/*
+ - regcomp - compile regular expression
+ */
+int
+regcomp(re, str, flags)
+regex_t *re;
+CONST char *str;
+int flags;
+{
+       size_t len;
+       int f = flags;
+
+       if (f&REG_PEND) {
+               len = re->re_endp - str;
+               f &= ~REG_PEND;
+       } else
+               len = strlen(str);
+
+       return re_comp(re, str, len, f);
+}
+
+/*
+ - regexec - execute regular expression
+ */
+int
+regexec(re, str, nmatch, pmatch, flags)
+regex_t *re;
+CONST char *str;
+size_t nmatch;
+regmatch_t pmatch[];
+int flags;
+{
+       CONST char *start;
+       size_t len;
+       int f = flags;
+
+       if (f&REG_STARTEND) {
+               start = str + pmatch[0].rm_so;
+               len = pmatch[0].rm_eo - pmatch[0].rm_so;
+               f &= ~REG_STARTEND;
+       } else {
+               start = str;
+               len = strlen(str);
+       }
+
+       return re_exec(re, start, len, nmatch, pmatch, f);
+}