-/* Generated by re2c 0.5 on Tue Feb 3 16:01:43 2004 */
-#line 1 "var_unserializer.re"
-/*
+/* Generated by re2c 0.9.2 on Tue Mar 23 21:48:54 2004 */
+#line 1 "/usr/src/php5/ext/standard/var_unserializer.re"
+/*
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
#define YYMARKER marker
-#line 118
+#line 118 "/usr/src/php5/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) < 6) YYFILL(6);
yych = *YYCURSOR;
if(yych <= 'd'){
if(yych <= 'R'){
} else {
if(yych <= '}') goto yy14;
if(yych <= '\277') goto yy16;
+ goto yy2;
}
}
}
}
yy3: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych == ':') goto yy81;
+ if(yych == ':') goto yy86;
+ goto yy4;
yy4:
-#line 461
- { return 0; }
+#line 461 "/usr/src/php5/ext/standard/var_unserializer.re"
+{ return 0; }
+#line 102 "re2c-output.c"
yy5: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych == ':') goto yy75;
+ if(yych == ':') goto yy80;
goto yy4;
yy6: yych = *++YYCURSOR;
- if(yych == ';') goto yy73;
+ if(yych == ';') goto yy78;
goto yy4;
yy7: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych == ':') goto yy67;
+ if(yych == ':') goto yy72;
goto yy4;
yy8: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych == ':') goto yy61;
+ if(yych == ':') goto yy66;
goto yy4;
yy9: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych == ':') goto yy17;
goto yy4;
yy14: yych = *++YYCURSOR;
+ goto yy15;
yy15:
-#line 455
- {
+#line 455 "/usr/src/php5/ext/standard/var_unserializer.re"
+{
/* this is the case where we have less data than planned */
php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Unexpected end of serialized data");
return 0; /* not sure if it should be 0 or 1 here? */
}
+#line 147 "re2c-output.c"
yy16: yych = *++YYCURSOR;
goto yy4;
yy17: yych = *++YYCURSOR;
if(yybm[0+yych] & 128) goto yy19;
if(yych != '+') goto yy2;
+ goto yy18;
yy18: yych = *++YYCURSOR;
if(yybm[0+yych] & 128) goto yy19;
goto yy2;
yy19: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy20;
yy20: if(yybm[0+yych] & 128) goto yy19;
if(yych != ':') goto yy2;
+ goto yy21;
yy21: yych = *++YYCURSOR;
if(yych != '"') goto yy2;
+ goto yy22;
yy22: yych = *++YYCURSOR;
+ goto yy23;
yy23:
-#line 376
- {
+#line 376 "/usr/src/php5/ext/standard/var_unserializer.re"
+{
int len;
int elements;
int len2;
return object_common2(UNSERIALIZE_PASSTHRU, elements);
}
+#line 249 "re2c-output.c"
yy24: yych = *++YYCURSOR;
if(yych <= ','){
if(yych != '+') goto yy2;
+ goto yy25;
} else {
if(yych <= '-') goto yy25;
if(yych <= '/') goto yy2;
yy25: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
+ goto yy26;
yy26: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy27;
yy27: if(yych <= '/') goto yy2;
if(yych <= '9') goto yy26;
if(yych >= ';') goto yy2;
+ goto yy28;
yy28: yych = *++YYCURSOR;
if(yych != '"') goto yy2;
+ goto yy29;
yy29: yych = *++YYCURSOR;
+ goto yy30;
yy30:
-#line 368
- {
+#line 368 "/usr/src/php5/ext/standard/var_unserializer.re"
+{
INIT_PZVAL(*rval);
return object_common2(UNSERIALIZE_PASSTHRU,
object_common1(UNSERIALIZE_PASSTHRU, ZEND_STANDARD_CLASS_DEF_PTR));
}
+#line 286 "re2c-output.c"
yy31: yych = *++YYCURSOR;
if(yych == '+') goto yy32;
if(yych <= '/') goto yy2;
yy32: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
+ goto yy33;
yy33: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy34;
yy34: if(yych <= '/') goto yy2;
if(yych <= '9') goto yy33;
if(yych >= ';') goto yy2;
+ goto yy35;
yy35: yych = *++YYCURSOR;
if(yych != '{') goto yy2;
+ goto yy36;
yy36: yych = *++YYCURSOR;
+ goto yy37;
yy37:
-#line 350
- {
+#line 350 "/usr/src/php5/ext/standard/var_unserializer.re"
+{
int elements = parse_iv(start + 2);
*p = YYCURSOR;
return finish_nested_data(UNSERIALIZE_PASSTHRU);
}
+#line 328 "re2c-output.c"
yy38: yych = *++YYCURSOR;
if(yych == '+') goto yy39;
if(yych <= '/') goto yy2;
yy39: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
+ goto yy40;
yy40: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy41;
yy41: if(yych <= '/') goto yy2;
if(yych <= '9') goto yy40;
if(yych >= ';') goto yy2;
+ goto yy42;
yy42: yych = *++YYCURSOR;
if(yych != '"') goto yy2;
+ goto yy43;
yy43: yych = *++YYCURSOR;
+ goto yy44;
yy44:
-#line 330
- {
+#line 330 "/usr/src/php5/ext/standard/var_unserializer.re"
+{
int len;
char *str;
ZVAL_STRINGL(*rval, str, len, 0);
return 1;
}
+#line 372 "re2c-output.c"
yy45: yych = *++YYCURSOR;
- if(yych <= '-'){
- if(yych == '+') goto yy46;
- if(yych <= ',') goto yy2;
+ if(yych <= '/'){
+ if(yych <= ','){
+ if(yych != '+') goto yy2;
+ goto yy46;
+ } else {
+ if(yych <= '-') goto yy46;
+ if(yych <= '.') goto yy49;
+ goto yy2;
+ }
} else {
- if(yych <= '.') goto yy49;
- if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy47;
- goto yy2;
+ if(yych <= 'I'){
+ if(yych <= '9') goto yy47;
+ if(yych <= 'H') goto yy2;
+ goto yy51;
+ } else {
+ if(yych == 'N') goto yy50;
+ goto yy2;
+ }
}
yy46: yych = *++YYCURSOR;
if(yych == '.') goto yy49;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
+ goto yy47;
yy47: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy48;
yy48: if(yych <= ':'){
if(yych <= '.'){
if(yych <= '-') goto yy2;
- goto yy59;
+ goto yy64;
} else {
if(yych <= '/') goto yy2;
if(yych <= '9') goto yy47;
}
} else {
if(yych <= 'E'){
- if(yych <= ';') goto yy52;
+ if(yych <= ';') goto yy54;
if(yych <= 'D') goto yy2;
- goto yy54;
+ goto yy59;
} else {
- if(yych == 'e') goto yy54;
+ if(yych == 'e') goto yy59;
goto yy2;
}
}
yy49: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
- if(yych >= ':') goto yy2;
-yy50: ++YYCURSOR;
+ if(yych <= '9') goto yy57;
+ goto yy2;
+yy50: yych = *++YYCURSOR;
+ if(yych == 'A') goto yy56;
+ goto yy2;
+yy51: yych = *++YYCURSOR;
+ if(yych != 'N') goto yy2;
+ goto yy52;
+yy52: yych = *++YYCURSOR;
+ if(yych != 'F') goto yy2;
+ goto yy53;
+yy53: yych = *++YYCURSOR;
+ if(yych != ';') goto yy2;
+ goto yy54;
+yy54: yych = *++YYCURSOR;
+ goto yy55;
+yy55:
+#line 323 "/usr/src/php5/ext/standard/var_unserializer.re"
+{
+ *p = YYCURSOR;
+ INIT_PZVAL(*rval);
+ ZVAL_DOUBLE(*rval, atof(start + 2));
+ return 1;
+}
+#line 447 "re2c-output.c"
+yy56: yych = *++YYCURSOR;
+ if(yych == 'N') goto yy53;
+ goto yy2;
+yy57: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy51: if(yych <= ';'){
+ goto yy58;
+yy58: if(yych <= ';'){
if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy50;
+ if(yych <= '9') goto yy57;
if(yych <= ':') goto yy2;
+ goto yy54;
} else {
if(yych <= 'E'){
if(yych <= 'D') goto yy2;
- goto yy54;
+ goto yy59;
} else {
- if(yych == 'e') goto yy54;
- goto yy2;
+ if(yych != 'e') goto yy2;
+ goto yy59;
}
}
-yy52: yych = *++YYCURSOR;
-yy53:
-#line 323
- {
- *p = YYCURSOR;
- INIT_PZVAL(*rval);
- ZVAL_DOUBLE(*rval, atof(start + 2));
- return 1;
-}
-yy54: yych = *++YYCURSOR;
+yy59: yych = *++YYCURSOR;
if(yych <= ','){
if(yych != '+') goto yy2;
+ goto yy60;
} else {
- if(yych <= '-') goto yy55;
+ if(yych <= '-') goto yy60;
if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy56;
+ if(yych <= '9') goto yy61;
goto yy2;
}
-yy55: yych = *++YYCURSOR;
+yy60: yych = *++YYCURSOR;
if(yych <= ','){
- if(yych == '+') goto yy58;
+ if(yych == '+') goto yy63;
goto yy2;
} else {
- if(yych <= '-') goto yy58;
+ if(yych <= '-') goto yy63;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
+ goto yy61;
}
-yy56: ++YYCURSOR;
+yy61: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy57: if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy56;
- if(yych == ';') goto yy52;
+ goto yy62;
+yy62: if(yych <= '/') goto yy2;
+ if(yych <= '9') goto yy61;
+ if(yych == ';') goto yy54;
goto yy2;
-yy58: yych = *++YYCURSOR;
+yy63: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy56;
+ if(yych <= '9') goto yy61;
goto yy2;
-yy59: ++YYCURSOR;
+yy64: ++YYCURSOR;
if((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
yych = *YYCURSOR;
-yy60: if(yych <= ';'){
+ goto yy65;
+yy65: if(yych <= ';'){
if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy59;
+ if(yych <= '9') goto yy64;
if(yych <= ':') goto yy2;
- goto yy52;
+ goto yy54;
} else {
if(yych <= 'E'){
if(yych <= 'D') goto yy2;
- goto yy54;
+ goto yy59;
} else {
- if(yych == 'e') goto yy54;
+ if(yych == 'e') goto yy59;
goto yy2;
}
}
-yy61: yych = *++YYCURSOR;
+yy66: yych = *++YYCURSOR;
if(yych <= ','){
if(yych != '+') goto yy2;
+ goto yy67;
} else {
- if(yych <= '-') goto yy62;
+ if(yych <= '-') goto yy67;
if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy63;
+ if(yych <= '9') goto yy68;
goto yy2;
}
-yy62: yych = *++YYCURSOR;
+yy67: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
-yy63: ++YYCURSOR;
+ goto yy68;
+yy68: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy64: if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy63;
+ goto yy69;
+yy69: if(yych <= '/') goto yy2;
+ if(yych <= '9') goto yy68;
if(yych != ';') goto yy2;
-yy65: yych = *++YYCURSOR;
-yy66:
-#line 316
- {
+ goto yy70;
+yy70: yych = *++YYCURSOR;
+ goto yy71;
+yy71:
+#line 316 "/usr/src/php5/ext/standard/var_unserializer.re"
+{
*p = YYCURSOR;
INIT_PZVAL(*rval);
ZVAL_LONG(*rval, parse_iv(start + 2));
return 1;
}
-yy67: yych = *++YYCURSOR;
+#line 551 "re2c-output.c"
+yy72: yych = *++YYCURSOR;
if(yych <= ','){
if(yych != '+') goto yy2;
+ goto yy73;
} else {
- if(yych <= '-') goto yy68;
+ if(yych <= '-') goto yy73;
if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy69;
+ if(yych <= '9') goto yy74;
goto yy2;
}
-yy68: yych = *++YYCURSOR;
+yy73: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
-yy69: ++YYCURSOR;
+ goto yy74;
+yy74: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy70: if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy69;
+ goto yy75;
+yy75: if(yych <= '/') goto yy2;
+ if(yych <= '9') goto yy74;
if(yych != ';') goto yy2;
-yy71: yych = *++YYCURSOR;
-yy72:
-#line 309
- {
+ goto yy76;
+yy76: yych = *++YYCURSOR;
+ goto yy77;
+yy77:
+#line 309 "/usr/src/php5/ext/standard/var_unserializer.re"
+{
*p = YYCURSOR;
INIT_PZVAL(*rval);
ZVAL_BOOL(*rval, parse_iv(start + 2));
return 1;
}
-yy73: yych = *++YYCURSOR;
-yy74:
-#line 302
- {
+#line 584 "re2c-output.c"
+yy78: yych = *++YYCURSOR;
+ goto yy79;
+yy79:
+#line 302 "/usr/src/php5/ext/standard/var_unserializer.re"
+{
*p = YYCURSOR;
INIT_PZVAL(*rval);
ZVAL_NULL(*rval);
return 1;
}
-yy75: yych = *++YYCURSOR;
+#line 595 "re2c-output.c"
+yy80: yych = *++YYCURSOR;
if(yych <= ','){
if(yych != '+') goto yy2;
+ goto yy81;
} else {
- if(yych <= '-') goto yy76;
+ if(yych <= '-') goto yy81;
if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy77;
+ if(yych <= '9') goto yy82;
goto yy2;
}
-yy76: yych = *++YYCURSOR;
+yy81: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
-yy77: ++YYCURSOR;
+ goto yy82;
+yy82: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy78: if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy77;
+ goto yy83;
+yy83: if(yych <= '/') goto yy2;
+ if(yych <= '9') goto yy82;
if(yych != ';') goto yy2;
-yy79: yych = *++YYCURSOR;
-yy80:
-#line 281
- {
+ goto yy84;
+yy84: yych = *++YYCURSOR;
+ goto yy85;
+yy85:
+#line 281 "/usr/src/php5/ext/standard/var_unserializer.re"
+{
int id;
*p = YYCURSOR;
return 1;
}
-yy81: yych = *++YYCURSOR;
+#line 642 "re2c-output.c"
+yy86: yych = *++YYCURSOR;
if(yych <= ','){
if(yych != '+') goto yy2;
+ goto yy87;
} else {
- if(yych <= '-') goto yy82;
+ if(yych <= '-') goto yy87;
if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy83;
+ if(yych <= '9') goto yy88;
goto yy2;
}
-yy82: yych = *++YYCURSOR;
+yy87: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= ':') goto yy2;
-yy83: ++YYCURSOR;
+ goto yy88;
+yy88: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy84: if(yych <= '/') goto yy2;
- if(yych <= '9') goto yy83;
+ goto yy89;
+yy89: if(yych <= '/') goto yy2;
+ if(yych <= '9') goto yy88;
if(yych != ';') goto yy2;
-yy85: yych = *++YYCURSOR;
-yy86:
-#line 260
- {
+ goto yy90;
+yy90: yych = *++YYCURSOR;
+ goto yy91;
+yy91:
+#line 260 "/usr/src/php5/ext/standard/var_unserializer.re"
+{
int id;
*p = YYCURSOR;
return 1;
}
+#line 689 "re2c-output.c"
}
-#line 463
+#line 463 "/usr/src/php5/ext/standard/var_unserializer.re"
return 0;