cvs: /php3/regex engine.c regcomp.c regex2.h
| From: | Frank M. Kromann | Date: | Wed, 02 Feb 2000 19:00:54 +0000 |
| Subject: | cvs: /php3/regex engine.c regcomp.c regex2.h | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-15150@lists.php.net to get a copy of this message | ||
fmk Wed Feb 2 20:00:54 2000 EDT
Modified files:
/php3/regex engine.c regcomp.c regex2.h
Log:
Making regex work with 8-bit chars on win32 and removed compiler warnings
Index: php3/regex/engine.c
diff -u php3/regex/engine.c:1.7 php3/regex/engine.c:1.8
--- php3/regex/engine.c:1.7 Fri Nov 12 21:57:49 1999
+++ php3/regex/engine.c Wed Feb 2 20:00:53 2000
@@ -5,7 +5,7 @@
* of code.
*/
-/* $Id: engine.c,v 1.7 1999/11/12 20:57:49 sas Exp $ */
+/* $Id: engine.c,v 1.8 2000/02/02 19:00:53 fmk Exp $ */
#ifdef SNAMES
#define matcher smatcher
@@ -73,7 +73,7 @@
int eflags;
{
register char *endp;
- register int i;
+ register size_t i;
struct match mv;
register struct match *m = &mv;
register char *dp;
@@ -678,10 +678,12 @@
(c != OUT && ISWORD(c)) ) {
flagch = BOW;
}
+
if ( (lastc != OUT && ISWORD(lastc)) &&
(flagch == EOL || (c != OUT && !ISWORD(c))) ) {
flagch = EOW;
}
+
if (flagch == BOW || flagch == EOW) {
st = step(m->g, startst, stopst, st, flagch, st);
SP("boweow", st, c);
Index: php3/regex/regcomp.c
diff -u php3/regex/regcomp.c:1.7 php3/regex/regcomp.c:1.8
--- php3/regex/regcomp.c:1.7 Fri Nov 12 21:57:49 1999
+++ php3/regex/regcomp.c Wed Feb 2 20:00:53 2000
@@ -1,4 +1,4 @@
-/* $Id: regcomp.c,v 1.7 1999/11/12 20:57:49 sas Exp $ */
+/* $Id: regcomp.c,v 1.8 2000/02/02 19:00:53 fmk Exp $ */
#include <sys/types.h>
#include <stdio.h>
@@ -1056,7 +1056,7 @@
register struct parse *p;
register cset *cs;
{
- register int i;
+ register size_t i;
register cset *top = &p->g->sets[p->g->ncsets];
register size_t css = (size_t)p->g->csetsize;
@@ -1082,7 +1082,7 @@
register cset *cs;
{
register uch h = cs->hash;
- register int i;
+ register size_t i;
register cset *top = &p->g->sets[p->g->ncsets];
register cset *cs2;
register size_t css = (size_t)p->g->csetsize;
@@ -1115,7 +1115,7 @@
register struct parse *p;
register cset *cs;
{
- register int i;
+ register size_t i;
register size_t css = (size_t)p->g->csetsize;
for (i = 0; i < css; i++)
@@ -1134,7 +1134,7 @@
register struct parse *p;
register cset *cs;
{
- register int i;
+ register size_t i;
register size_t css = (size_t)p->g->csetsize;
register int n = 0;
Index: php3/regex/regex2.h
diff -u php3/regex/regex2.h:1.6 php3/regex/regex2.h:1.7
--- php3/regex/regex2.h:1.6 Fri Nov 12 21:57:49 1999
+++ php3/regex/regex2.h Wed Feb 2 20:00:53 2000
@@ -1,5 +1,5 @@
/*
- * $Id: regex2.h,v 1.6 1999/11/12 20:57:49 sas Exp $
+ * $Id: regex2.h,v 1.7 2000/02/02 19:00:53 fmk Exp $
*
* First, the stuff that ends up in the outside-world include file
= #ifdef WIN32
@@ -139,4 +139,4 @@
/* misc utilities */
#define OUT (CHAR_MAX+1) /* a non-character value */
-#define ISWORD(c) (isalnum(c) || (c) == '_')
+#define ISWORD(c) ((c) > 0 && (isalnum(c) || (c) == '_')) /* isalnum may crash
for c<0 with MSVC/WIN32 */