You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by jo...@apache.org on 2005/02/11 15:57:36 UTC

svn commit: r153407 - in httpd/httpd/trunk: include/ap_regex.h include/httpd.h server/util_pcre.c

Author: jorton
Date: Fri Feb 11 06:57:34 2005
New Revision: 153407

URL: http://svn.apache.org/viewcvs?view=rev&rev=153407
Log:
* include/ap_regex.h: Include apr.h not stdlib.h; replace pointless
regoff_t typedef with int; s/size_t/apr_size_t/;.  Comment fixes.

* server/util_pcre.c: s/size_t/apr_size_t/.

* include/httpd.h: Include stdlib.h here instead since many other
files assume it was included by httpd.h at some point.

Modified:
    httpd/httpd/trunk/include/ap_regex.h
    httpd/httpd/trunk/include/httpd.h
    httpd/httpd/trunk/server/util_pcre.c

Modified: httpd/httpd/trunk/include/ap_regex.h
URL: http://svn.apache.org/viewcvs/httpd/httpd/trunk/include/ap_regex.h?view=diff&r1=153406&r2=153407
==============================================================================
--- httpd/httpd/trunk/include/ap_regex.h (original)
+++ httpd/httpd/trunk/include/ap_regex.h Fri Feb 11 06:57:34 2005
@@ -14,9 +14,7 @@
  * limitations under the License.
  */
 
-/* This is the header for the POSIX wrapper interface to the PCRE Perl-
-Compatible Regular Expression library. It defines the things POSIX says should
-be there. I hope.
+/* Derived from PCRE's pcreposix.h.
 
             Copyright (c) 1997-2004 University of Cambridge
 
@@ -52,9 +50,7 @@
 #ifndef AP_REGEX_H
 #define AP_REGEX_H
 
-/* Have to include stdlib.h in order to ensure that size_t is defined. */
-
-#include <stdlib.h>
+#include "apr.h"
 
 /* Allow for C++ users */
 
@@ -82,17 +78,15 @@
 
 /* The structure representing a compiled regular expression. */
 typedef struct {
-  void *re_pcre;
-  size_t re_nsub;
-  size_t re_erroffset;
+    void *re_pcre;
+    apr_size_t re_nsub;
+    apr_size_t re_erroffset;
 } ap_regex_t;
 
-typedef int regoff_t;
-
 /* The structure in which a captured offset is returned. */
 typedef struct {
-  regoff_t rm_so;
-  regoff_t rm_eo;
+    int rm_so;
+    int rm_eo;
 } ap_regmatch_t;
 
 #ifndef AP_DECLARE
@@ -102,7 +96,7 @@
 /* The functions */
 
 /**
- * Compile a regeular expression.
+ * Compile a regular expression.
  * @param preg Returned compiled regex
  * @param regex The regular expression string
  * @param cflags Must be zero (currently).
@@ -111,7 +105,7 @@
 AP_DECLARE(int) ap_regcomp(ap_regex_t *preg, const char *regex, int cflags);
 
 /**
- * Match a null-terminated string against a pre-compiled regex.
+ * Match a NUL-terminated string against a pre-compiled regex.
  * @param preg The pre-compiled regex
  * @param string The string to match
  * @param nmatch Provide information regarding the location of any matches
@@ -120,7 +114,7 @@
  * @return 0 for successful match, #REG_NOMATCH otherwise
  */ 
 AP_DECLARE(int) ap_regexec(const ap_regex_t *preg, const char *string,
-                           size_t nmatch, ap_regmatch_t *pmatch, int eflags);
+                           apr_size_t nmatch, ap_regmatch_t *pmatch, int eflags);
 
 /**
  * Return the error code returned by regcomp or regexec into error messages
@@ -129,8 +123,8 @@
  * @param errbuf A buffer to store the error in
  * @param errbuf_size The size of the buffer
  */
-AP_DECLARE(size_t) ap_regerror(int errcode, const ap_regex_t *preg, 
-                               char *errbuf, size_t errbuf_size);
+AP_DECLARE(apr_size_t) ap_regerror(int errcode, const ap_regex_t *preg, 
+                                   char *errbuf, apr_size_t errbuf_size);
 
 /** Destroy a pre-compiled regex.
  * @param preg The pre-compiled regex to free.

Modified: httpd/httpd/trunk/include/httpd.h
URL: http://svn.apache.org/viewcvs/httpd/httpd/trunk/include/httpd.h?view=diff&r1=153406&r2=153407
==============================================================================
--- httpd/httpd/trunk/include/httpd.h (original)
+++ httpd/httpd/trunk/include/httpd.h Fri Feb 11 06:57:34 2005
@@ -32,6 +32,7 @@
 
 #include "ap_release.h"
 
+#include "apr.h"
 #include "apr_general.h"
 #include "apr_tables.h"
 #include "apr_pools.h"
@@ -43,6 +44,10 @@
 #include "os.h"
 
 #include "ap_regex.h"
+
+#if APR_HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
 
 /* Note: util_uri.h is also included, see below */
 

Modified: httpd/httpd/trunk/server/util_pcre.c
URL: http://svn.apache.org/viewcvs/httpd/httpd/trunk/server/util_pcre.c?view=diff&r1=153406&r2=153407
==============================================================================
--- httpd/httpd/trunk/server/util_pcre.c (original)
+++ httpd/httpd/trunk/server/util_pcre.c Fri Feb 11 06:57:34 2005
@@ -67,11 +67,11 @@
   "match failed"                     /* AP_REG_NOMATCH */
 };
 
-AP_DECLARE(size_t) ap_regerror(int errcode, const ap_regex_t *preg, 
-                               char *errbuf, size_t errbuf_size)
+AP_DECLARE(apr_size_t) ap_regerror(int errcode, const ap_regex_t *preg, 
+                                   char *errbuf, apr_size_t errbuf_size)
 {
 const char *message, *addmessage;
-size_t length, addlength;
+apr_size_t length, addlength;
 
 message = (errcode >= (int)(sizeof(pstring)/sizeof(char *)))?
   "unknown error code" : pstring[errcode];
@@ -157,8 +157,9 @@
 block of store on the stack, to reduce the use of malloc/free. The threshold is
 in a macro that can be changed at configure time. */
 
-AP_DECLARE(int) ap_regexec(const ap_regex_t *preg, const char *string, size_t nmatch,
-                           ap_regmatch_t pmatch[], int eflags)
+AP_DECLARE(int) ap_regexec(const ap_regex_t *preg, const char *string,
+                           apr_size_t nmatch, ap_regmatch_t pmatch[],
+                           int eflags)
 {
 int rc;
 int options = 0;
@@ -169,7 +170,7 @@
 if ((eflags & AP_REG_NOTBOL) != 0) options |= PCRE_NOTBOL;
 if ((eflags & AP_REG_NOTEOL) != 0) options |= PCRE_NOTEOL;
 
-((ap_regex_t *)preg)->re_erroffset = (size_t)(-1);  /* Only has meaning after compile */
+((ap_regex_t *)preg)->re_erroffset = (apr_size_t)(-1);  /* Only has meaning after compile */
 
 if (nmatch > 0)
   {
@@ -192,8 +193,8 @@
 
 if (rc >= 0)
   {
-  size_t i;
-  for (i = 0; i < (size_t)rc; i++)
+  apr_size_t i;
+  for (i = 0; i < (apr_size_t)rc; i++)
     {
     pmatch[i].rm_so = ovector[i*2];
     pmatch[i].rm_eo = ovector[i*2+1];