-/* Generated by re2c 0.5 on Thu Sep 4 19:43:27 2003 */
-#line 1 "/usr/src/web/php/php4_3/ext/standard/var_unserializer.re"
+/* Generated by re2c 0.9.2 on Sat Mar 27 01:58:46 2004 */
+#line 1 "/usr/src/PHP_4_3_0/ext/standard/var_unserializer.re"
+
#include "php.h"
#include "ext/standard/php_var.h"
#include "php_incomplete_class.h"
#define YYMARKER marker
-#line 98
+#line 99 "/usr/src/PHP_4_3_0/ext/standard/var_unserializer.re"
+
+#line 7 "re2c-output.c"
{
YYCTYPE yych;
unsigned int yyaccept;
goto yy0;
yy1: ++YYCURSOR;
yy0:
- if((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ if((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
yych = *YYCURSOR;
if(yych <= 'd'){
if(yych <= 'R'){
} else {
if(yych <= '}') goto yy13;
if(yych <= '\277') goto yy15;
+ goto yy2;
}
}
}
}
yy3: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych == ':') goto yy74;
+ if(yych == ':') goto yy82;
+ goto yy4;
yy4:
-#line 411
- { return 0; }
+#line 429 "/usr/src/PHP_4_3_0/ext/standard/var_unserializer.re"
+{ return 0; }
+#line 101 "re2c-output.c"
yy5: yych = *++YYCURSOR;
- if(yych == ';') goto yy72;
+ if(yych == ';') goto yy80;
goto yy4;
yy6: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych == ':') goto yy66;
+ if(yych == ':') goto yy74;
goto yy4;
yy7: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych == ':') goto yy60;
+ if(yych == ':') goto yy68;
goto yy4;
yy8: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych == ':') goto yy16;
goto yy4;
yy13: yych = *++YYCURSOR;
+ goto yy14;
yy14:
-#line 405
- {
+#line 423 "/usr/src/PHP_4_3_0/ext/standard/var_unserializer.re"
+{
/* this is the case where we have less data than planned */
zend_error(E_NOTICE, "Unexpected end of serialized data");
return 0; /* not sure if it should be 0 or 1 here? */
}
+#line 142 "re2c-output.c"
yy15: yych = *++YYCURSOR;
goto yy4;
yy16: yych = *++YYCURSOR;
if(yybm[0+yych] & 128) goto yy18;
if(yych != '+') goto yy2;
+ goto yy17;
yy17: yych = *++YYCURSOR;
if(yybm[0+yych] & 128) goto yy18;
goto yy2;
yy18: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy19;
yy19: if(yybm[0+yych] & 128) goto yy18;
if(yych != ':') goto yy2;
+ goto yy20;
yy20: yych = *++YYCURSOR;
if(yych != '"') goto yy2;
+ goto yy21;
yy21: yych = *++YYCURSOR;
+ goto yy22;
yy22:
-#line 331
- {
+#line 349 "/usr/src/PHP_4_3_0/ext/standard/var_unserializer.re"
+{
int len;
int elements;
int len2;
return object_common2(UNSERIALIZE_PASSTHRU, elements);
}
+#line 239 "re2c-output.c"
yy23: yych = *++YYCURSOR;
if(yych <= ','){
if(yych != '+') goto yy2;
+ goto yy24;
} else {
if(yych <= '-') goto yy24;
if(yych <= '/') goto yy2;
yy24: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
+ goto yy25;
yy25: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy26;
yy26: if(yych <= '/') goto yy2;
if(yych <= '9') goto yy25;
if(yych >= ';') goto yy2;
+ goto yy27;
yy27: yych = *++YYCURSOR;
if(yych != '"') goto yy2;
+ goto yy28;
yy28: yych = *++YYCURSOR;
+ goto yy29;
yy29:
-#line 323
- {
+#line 341 "/usr/src/PHP_4_3_0/ext/standard/var_unserializer.re"
+{
INIT_PZVAL(*rval);
return object_common2(UNSERIALIZE_PASSTHRU,
object_common1(UNSERIALIZE_PASSTHRU, ZEND_STANDARD_CLASS_DEF_PTR));
}
+#line 276 "re2c-output.c"
yy30: yych = *++YYCURSOR;
if(yych == '+') goto yy31;
if(yych <= '/') goto yy2;
yy31: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
+ goto yy32;
yy32: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy33;
yy33: if(yych <= '/') goto yy2;
if(yych <= '9') goto yy32;
if(yych >= ';') goto yy2;
+ goto yy34;
yy34: yych = *++YYCURSOR;
if(yych != '{') goto yy2;
+ goto yy35;
yy35: yych = *++YYCURSOR;
+ goto yy36;
yy36:
-#line 305
- {
+#line 323 "/usr/src/PHP_4_3_0/ext/standard/var_unserializer.re"
+{
int elements = parse_iv(start + 2);
*p = YYCURSOR;
return finish_nested_data(UNSERIALIZE_PASSTHRU);
}
+#line 318 "re2c-output.c"
yy37: yych = *++YYCURSOR;
if(yych == '+') goto yy38;
if(yych <= '/') goto yy2;
yy38: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
+ goto yy39;
yy39: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy40;
yy40: if(yych <= '/') goto yy2;
if(yych <= '9') goto yy39;
if(yych >= ';') goto yy2;
+ goto yy41;
yy41: yych = *++YYCURSOR;
if(yych != '"') goto yy2;
+ goto yy42;
yy42: yych = *++YYCURSOR;
+ goto yy43;
yy43:
-#line 285
- {
+#line 303 "/usr/src/PHP_4_3_0/ext/standard/var_unserializer.re"
+{
int len;
char *str;
ZVAL_STRINGL(*rval, str, len, 0);
return 1;
}
+#line 362 "re2c-output.c"
yy44: yych = *++YYCURSOR;
- if(yych <= '-'){
- if(yych == '+') goto yy45;
- if(yych <= ',') goto yy2;
+ if(yych <= '/'){
+ if(yych <= ','){
+ if(yych == '+') goto yy48;
+ goto yy2;
+ } else {
+ if(yych <= '-') goto yy46;
+ if(yych <= '.') goto yy51;
+ goto yy2;
+ }
} else {
- if(yych <= '.') goto yy48;
- if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy46;
- goto yy2;
+ if(yych <= 'I'){
+ if(yych <= '9') goto yy49;
+ if(yych <= 'H') goto yy2;
+ goto yy47;
+ } else {
+ if(yych != 'N') goto yy2;
+ goto yy45;
+ }
}
yy45: yych = *++YYCURSOR;
- if(yych == '.') goto yy48;
+ if(yych == 'A') goto yy67;
+ goto yy2;
+yy46: yych = *++YYCURSOR;
+ if(yych <= '/'){
+ if(yych == '.') goto yy51;
+ goto yy2;
+ } else {
+ if(yych <= '9') goto yy49;
+ if(yych != 'I') goto yy2;
+ goto yy47;
+ }
+yy47: yych = *++YYCURSOR;
+ if(yych == 'N') goto yy63;
+ goto yy2;
+yy48: yych = *++YYCURSOR;
+ if(yych == '.') goto yy51;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
-yy46: ++YYCURSOR;
+ goto yy49;
+yy49: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy47: if(yych <= ':'){
+ goto yy50;
+yy50: if(yych <= ':'){
if(yych <= '.'){
if(yych <= '-') goto yy2;
- goto yy58;
+ goto yy61;
} else {
if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy46;
+ if(yych <= '9') goto yy49;
goto yy2;
}
} else {
if(yych <= 'E'){
- if(yych <= ';') goto yy51;
+ if(yych <= ';') goto yy54;
if(yych <= 'D') goto yy2;
- goto yy53;
+ goto yy56;
} else {
- if(yych == 'e') goto yy53;
+ if(yych == 'e') goto yy56;
goto yy2;
}
}
-yy48: yych = *++YYCURSOR;
+yy51: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
-yy49: ++YYCURSOR;
+ goto yy52;
+yy52: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy50: if(yych <= ';'){
+ goto yy53;
+yy53: if(yych <= ';'){
if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy49;
+ if(yych <= '9') goto yy52;
if(yych <= ':') goto yy2;
+ goto yy54;
} else {
if(yych <= 'E'){
if(yych <= 'D') goto yy2;
- goto yy53;
+ goto yy56;
} else {
- if(yych == 'e') goto yy53;
+ if(yych == 'e') goto yy56;
goto yy2;
}
}
-yy51: yych = *++YYCURSOR;
-yy52:
-#line 278
- {
+yy54: yych = *++YYCURSOR;
+ goto yy55;
+yy55:
+#line 296 "/usr/src/PHP_4_3_0/ext/standard/var_unserializer.re"
+{
*p = YYCURSOR;
INIT_PZVAL(*rval);
ZVAL_DOUBLE(*rval, atof(start + 2));
return 1;
}
-yy53: yych = *++YYCURSOR;
+#line 458 "re2c-output.c"
+yy56: yych = *++YYCURSOR;
if(yych <= ','){
if(yych != '+') goto yy2;
+ goto yy57;
} else {
- if(yych <= '-') goto yy54;
+ if(yych <= '-') goto yy57;
if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy55;
+ if(yych <= '9') goto yy58;
goto yy2;
}
-yy54: yych = *++YYCURSOR;
+yy57: yych = *++YYCURSOR;
if(yych <= ','){
- if(yych == '+') goto yy57;
+ if(yych == '+') goto yy60;
goto yy2;
} else {
- if(yych <= '-') goto yy57;
+ if(yych <= '-') goto yy60;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
+ goto yy58;
}
-yy55: ++YYCURSOR;
+yy58: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy56: if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy55;
- if(yych == ';') goto yy51;
+ goto yy59;
+yy59: if(yych <= '/') goto yy2;
+ if(yych <= '9') goto yy58;
+ if(yych == ';') goto yy54;
goto yy2;
-yy57: yych = *++YYCURSOR;
+yy60: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy55;
+ if(yych <= '9') goto yy58;
goto yy2;
-yy58: ++YYCURSOR;
+yy61: ++YYCURSOR;
if((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
yych = *YYCURSOR;
-yy59: if(yych <= ';'){
+ goto yy62;
+yy62: if(yych <= ';'){
if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy58;
+ if(yych <= '9') goto yy61;
if(yych <= ':') goto yy2;
- goto yy51;
+ goto yy54;
} else {
if(yych <= 'E'){
if(yych <= 'D') goto yy2;
- goto yy53;
+ goto yy56;
} else {
- if(yych == 'e') goto yy53;
+ if(yych == 'e') goto yy56;
goto yy2;
}
}
-yy60: yych = *++YYCURSOR;
+yy63: yych = *++YYCURSOR;
+ if(yych != 'F') goto yy2;
+ goto yy64;
+yy64: yych = *++YYCURSOR;
+ if(yych != ';') goto yy2;
+ goto yy65;
+yy65: yych = *++YYCURSOR;
+ goto yy66;
+yy66:
+#line 279 "/usr/src/PHP_4_3_0/ext/standard/var_unserializer.re"
+{
+ *p = YYCURSOR;
+ INIT_PZVAL(*rval);
+#if defined(HAVE_ATOF_ACCEPTS_NAN) && defined(HAVE_ATOF_ACCEPTS_INF)
+ ZVAL_DOUBLE(*rval, atof(start + 2));
+#else
+ if (!strncmp(start + 2, "NAN", 3)) {
+ ZVAL_DOUBLE(*rval, php_get_nan());
+ } else if (!strncmp(start + 2, "INF", 3)) {
+ ZVAL_DOUBLE(*rval, php_get_inf());
+ } else if (!strncmp(start + 2, "-INF", 4)) {
+ ZVAL_DOUBLE(*rval, -php_get_inf());
+ }
+#endif
+ return 1;
+}
+#line 535 "re2c-output.c"
+yy67: yych = *++YYCURSOR;
+ if(yych == 'N') goto yy64;
+ goto yy2;
+yy68: yych = *++YYCURSOR;
if(yych <= ','){
if(yych != '+') goto yy2;
+ goto yy69;
} else {
- if(yych <= '-') goto yy61;
+ if(yych <= '-') goto yy69;
if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy62;
+ if(yych <= '9') goto yy70;
goto yy2;
}
-yy61: yych = *++YYCURSOR;
+yy69: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
-yy62: ++YYCURSOR;
+ goto yy70;
+yy70: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy63: if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy62;
+ goto yy71;
+yy71: if(yych <= '/') goto yy2;
+ if(yych <= '9') goto yy70;
if(yych != ';') goto yy2;
-yy64: yych = *++YYCURSOR;
-yy65:
-#line 271
- {
+ goto yy72;
+yy72: yych = *++YYCURSOR;
+ goto yy73;
+yy73:
+#line 272 "/usr/src/PHP_4_3_0/ext/standard/var_unserializer.re"
+{
*p = YYCURSOR;
INIT_PZVAL(*rval);
ZVAL_LONG(*rval, parse_iv(start + 2));
return 1;
}
-yy66: yych = *++YYCURSOR;
+#line 571 "re2c-output.c"
+yy74: yych = *++YYCURSOR;
if(yych <= ','){
if(yych != '+') goto yy2;
+ goto yy75;
} else {
- if(yych <= '-') goto yy67;
+ if(yych <= '-') goto yy75;
if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy68;
+ if(yych <= '9') goto yy76;
goto yy2;
}
-yy67: yych = *++YYCURSOR;
+yy75: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
-yy68: ++YYCURSOR;
+ goto yy76;
+yy76: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy69: if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy68;
+ goto yy77;
+yy77: if(yych <= '/') goto yy2;
+ if(yych <= '9') goto yy76;
if(yych != ';') goto yy2;
-yy70: yych = *++YYCURSOR;
-yy71:
-#line 264
- {
+ goto yy78;
+yy78: yych = *++YYCURSOR;
+ goto yy79;
+yy79:
+#line 265 "/usr/src/PHP_4_3_0/ext/standard/var_unserializer.re"
+{
*p = YYCURSOR;
INIT_PZVAL(*rval);
ZVAL_BOOL(*rval, parse_iv(start + 2));
return 1;
}
-yy72: yych = *++YYCURSOR;
-yy73:
-#line 257
- {
+#line 604 "re2c-output.c"
+yy80: yych = *++YYCURSOR;
+ goto yy81;
+yy81:
+#line 258 "/usr/src/PHP_4_3_0/ext/standard/var_unserializer.re"
+{
*p = YYCURSOR;
INIT_PZVAL(*rval);
ZVAL_NULL(*rval);
return 1;
}
-yy74: yych = *++YYCURSOR;
+#line 615 "re2c-output.c"
+yy82: yych = *++YYCURSOR;
if(yych <= ','){
if(yych != '+') goto yy2;
+ goto yy83;
} else {
- if(yych <= '-') goto yy75;
+ if(yych <= '-') goto yy83;
if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy76;
+ if(yych <= '9') goto yy84;
goto yy2;
}
-yy75: yych = *++YYCURSOR;
+yy83: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
-yy76: ++YYCURSOR;
+ goto yy84;
+yy84: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy77: if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy76;
+ goto yy85;
+yy85: if(yych <= '/') goto yy2;
+ if(yych <= '9') goto yy84;
if(yych != ';') goto yy2;
-yy78: yych = *++YYCURSOR;
-yy79:
-#line 238
- {
+ goto yy86;
+yy86: yych = *++YYCURSOR;
+ goto yy87;
+yy87:
+#line 239 "/usr/src/PHP_4_3_0/ext/standard/var_unserializer.re"
+{
int id;
*p = YYCURSOR;
return 1;
}
+#line 660 "re2c-output.c"
}
-#line 413
+#line 431 "/usr/src/PHP_4_3_0/ext/standard/var_unserializer.re"
return 0;