hi,
    this patch fix bug #18654 by extending the nvexp definition.
    The diff contains the resulting re2c var_unserializer.c.


Index: var_unserializer.c
===================================================================
RCS file: /repository/php4/ext/standard/var_unserializer.c,v
retrieving revision 1.17
diff -u -r1.17 var_unserializer.c
--- var_unserializer.c    19 Aug 2002 10:58:18 -0000    1.17
+++ var_unserializer.c    19 Aug 2002 13:21:38 -0000
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.5 on Sun Aug 18 15:18:22 2002 */
+/* Generated by re2c 0.5 on Mon Aug 19 15:11:57 2002 */
 #line 1 "var_unserializer.re"
 #include "php.h"
 #include "ext/standard/php_var.h"
@@ -581,13 +581,24 @@
 yy46:    ++YYCURSOR;
     if(YYLIMIT == YYCURSOR) YYFILL(1);
     yych = *YYCURSOR;
-yy47:    if(yych <= '/'){
-        if(yych == '.')    goto yy58;
-        goto yy2;
+yy47:    if(yych <= ':'){
+        if(yych <= '.'){
+            if(yych <= '-')    goto yy2;
+            goto yy58;
+        } else {
+            if(yych <= '/')    goto yy2;
+            if(yych <= '9')    goto yy46;
+            goto yy2;
+        }
     } else {
-        if(yych <= '9')    goto yy46;
-        if(yych == ';')    goto yy51;
-        goto yy2;
+        if(yych <= 'E'){
+            if(yych <= ';')    goto yy51;
+            if(yych <= 'D')    goto yy2;
+            goto yy53;
+        } else {
+            if(yych == 'e')    goto yy53;
+            goto yy2;
+        }
     }
 yy48:    yych = *++YYCURSOR;
     if(yych <= '/')    goto yy2;
Index: var_unserializer.re
===================================================================
RCS file: /repository/php4/ext/standard/var_unserializer.re,v
retrieving revision 1.10
diff -u -r1.10 var_unserializer.re
--- var_unserializer.re    18 Aug 2002 12:22:28 -0000    1.10
+++ var_unserializer.re    19 Aug 2002 13:21:38 -0000
@@ -92,7 +92,7 @@
 /*!re2c
 iv = [+-]? [0-9]+;
 nv = [+-]? ([0-9]* "." [0-9]+|[0-9]+ "." [0-9]+);
-nvexp = nv [eE] [+-]? iv;
+nvexp = (iv | nv) [eE] [+-]? iv;
 any = [\000-\277];
 */
 



-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to