diff --git a/ext/standard/var_unserializer.c b/ext/standard/var_unserializer.c index ab67c74488a..261c1fc7913 100644 --- a/ext/standard/var_unserializer.c +++ b/ext/standard/var_unserializer.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.9.2 on Tue Mar 23 23:12:19 2004 */ +/* Generated by re2c 0.9.2 on Sat Mar 27 02:27:57 2004 */ #line 1 "/usr/src/php5/ext/standard/var_unserializer.re" /* +----------------------------------------------------------------------+ @@ -343,26 +343,26 @@ yy2: YYCURSOR = YYMARKER; } yy3: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if(yych == ':') goto yy87; + if(yych == ':') goto yy89; goto yy4; yy4: -#line 461 "/usr/src/php5/ext/standard/var_unserializer.re" +#line 478 "/usr/src/php5/ext/standard/var_unserializer.re" { return 0; } #line 102 "re2c-output.c" yy5: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if(yych == ':') goto yy81; + if(yych == ':') goto yy83; goto yy4; yy6: yych = *++YYCURSOR; - if(yych == ';') goto yy79; + if(yych == ';') goto yy81; goto yy4; yy7: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if(yych == ':') goto yy73; + if(yych == ':') goto yy75; goto yy4; yy8: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if(yych == ':') goto yy67; + if(yych == ':') goto yy69; goto yy4; yy9: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); @@ -387,7 +387,7 @@ yy13: yyaccept = 0; yy14: yych = *++YYCURSOR; goto yy15; yy15: -#line 455 "/usr/src/php5/ext/standard/var_unserializer.re" +#line 472 "/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"); @@ -416,7 +416,7 @@ yy21: yych = *++YYCURSOR; yy22: yych = *++YYCURSOR; goto yy23; yy23: -#line 376 "/usr/src/php5/ext/standard/var_unserializer.re" +#line 393 "/usr/src/php5/ext/standard/var_unserializer.re" { int len; int elements; @@ -524,7 +524,7 @@ yy28: yych = *++YYCURSOR; yy29: yych = *++YYCURSOR; goto yy30; yy30: -#line 368 "/usr/src/php5/ext/standard/var_unserializer.re" +#line 385 "/usr/src/php5/ext/standard/var_unserializer.re" { INIT_PZVAL(*rval); @@ -556,7 +556,7 @@ yy35: yych = *++YYCURSOR; yy36: yych = *++YYCURSOR; goto yy37; yy37: -#line 350 "/usr/src/php5/ext/standard/var_unserializer.re" +#line 367 "/usr/src/php5/ext/standard/var_unserializer.re" { int elements = parse_iv(start + 2); @@ -598,7 +598,7 @@ yy42: yych = *++YYCURSOR; yy43: yych = *++YYCURSOR; goto yy44; yy44: -#line 330 "/usr/src/php5/ext/standard/var_unserializer.re" +#line 347 "/usr/src/php5/ext/standard/var_unserializer.re" { int len; char *str; @@ -622,183 +622,204 @@ yy44: yy45: yych = *++YYCURSOR; if(yych <= '/'){ if(yych <= ','){ - if(yych != '+') goto yy2; - goto yy46; + if(yych == '+') goto yy49; + goto yy2; } else { if(yych <= '-') goto yy47; - if(yych <= '.') goto yy50; + if(yych <= '.') goto yy52; goto yy2; } } else { if(yych <= 'I'){ - if(yych <= '9') goto yy48; + if(yych <= '9') goto yy50; if(yych <= 'H') goto yy2; - goto yy52; + goto yy48; } else { - if(yych == 'N') goto yy51; - goto yy2; + if(yych != 'N') goto yy2; + goto yy46; } } yy46: yych = *++YYCURSOR; - if(yych == '.') goto yy50; - if(yych <= '/') goto yy2; - if(yych <= '9') goto yy48; + if(yych == 'A') goto yy68; goto yy2; yy47: yych = *++YYCURSOR; if(yych <= '/'){ - if(yych == '.') goto yy50; + if(yych == '.') goto yy52; goto yy2; } else { - if(yych <= '9') goto yy48; - if(yych == 'I') goto yy52; - goto yy2; + if(yych <= '9') goto yy50; + if(yych != 'I') goto yy2; + goto yy48; } -yy48: ++YYCURSOR; +yy48: yych = *++YYCURSOR; + if(yych == 'N') goto yy64; + goto yy2; +yy49: yych = *++YYCURSOR; + if(yych == '.') goto yy52; + if(yych <= '/') goto yy2; + if(yych >= ':') goto yy2; + goto yy50; +yy50: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy49; -yy49: if(yych <= ':'){ + goto yy51; +yy51: if(yych <= ':'){ if(yych <= '.'){ if(yych <= '-') goto yy2; - goto yy65; + goto yy62; } else { if(yych <= '/') goto yy2; - if(yych <= '9') goto yy48; + if(yych <= '9') goto yy50; goto yy2; } } else { if(yych <= 'E'){ if(yych <= ';') goto yy55; if(yych <= 'D') goto yy2; - goto yy60; + goto yy57; } else { - if(yych == 'e') goto yy60; + if(yych == 'e') goto yy57; goto yy2; } } -yy50: yych = *++YYCURSOR; - if(yych <= '/') goto yy2; - if(yych <= '9') goto yy58; - goto yy2; -yy51: yych = *++YYCURSOR; - if(yych == 'A') goto yy57; - goto yy2; yy52: yych = *++YYCURSOR; - if(yych != 'N') goto yy2; + if(yych <= '/') goto yy2; + if(yych >= ':') goto yy2; goto yy53; -yy53: yych = *++YYCURSOR; - if(yych != 'F') goto yy2; +yy53: ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; goto yy54; -yy54: yych = *++YYCURSOR; - if(yych != ';') goto yy2; - goto yy55; +yy54: if(yych <= ';'){ + if(yych <= '/') goto yy2; + if(yych <= '9') goto yy53; + if(yych <= ':') goto yy2; + goto yy55; + } else { + if(yych <= 'E'){ + if(yych <= 'D') goto yy2; + goto yy57; + } else { + if(yych == 'e') goto yy57; + goto yy2; + } + } yy55: yych = *++YYCURSOR; goto yy56; yy56: -#line 323 "/usr/src/php5/ext/standard/var_unserializer.re" +#line 340 "/usr/src/php5/ext/standard/var_unserializer.re" { *p = YYCURSOR; INIT_PZVAL(*rval); ZVAL_DOUBLE(*rval, atof(start + 2)); return 1; } -#line 456 "re2c-output.c" +#line 468 "re2c-output.c" yy57: yych = *++YYCURSOR; - if(yych == 'N') goto yy54; - goto yy2; -yy58: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy59; -yy59: if(yych <= ';'){ - if(yych <= '/') goto yy2; - if(yych <= '9') goto yy58; - if(yych <= ':') goto yy2; - goto yy55; - } else { - if(yych <= 'E'){ - if(yych <= 'D') goto yy2; - goto yy60; - } else { - if(yych != 'e') goto yy2; - goto yy60; - } - } -yy60: yych = *++YYCURSOR; if(yych <= ','){ if(yych != '+') goto yy2; - goto yy61; + goto yy58; + } else { + if(yych <= '-') goto yy58; + if(yych <= '/') goto yy2; + if(yych <= '9') goto yy59; + goto yy2; + } +yy58: yych = *++YYCURSOR; + if(yych <= ','){ + if(yych == '+') goto yy61; + goto yy2; } else { if(yych <= '-') goto yy61; if(yych <= '/') goto yy2; - if(yych <= '9') goto yy62; - goto yy2; - } -yy61: yych = *++YYCURSOR; - if(yych <= ','){ - if(yych == '+') goto yy64; - goto yy2; - } else { - if(yych <= '-') goto yy64; - if(yych <= '/') goto yy2; if(yych >= ':') goto yy2; - goto yy62; + goto yy59; } -yy62: ++YYCURSOR; +yy59: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy63; -yy63: if(yych <= '/') goto yy2; - if(yych <= '9') goto yy62; + goto yy60; +yy60: if(yych <= '/') goto yy2; + if(yych <= '9') goto yy59; if(yych == ';') goto yy55; goto yy2; -yy64: yych = *++YYCURSOR; +yy61: yych = *++YYCURSOR; if(yych <= '/') goto yy2; - if(yych <= '9') goto yy62; + if(yych <= '9') goto yy59; goto yy2; -yy65: ++YYCURSOR; +yy62: ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; - goto yy66; -yy66: if(yych <= ';'){ + goto yy63; +yy63: if(yych <= ';'){ if(yych <= '/') goto yy2; - if(yych <= '9') goto yy65; + if(yych <= '9') goto yy62; if(yych <= ':') goto yy2; goto yy55; } else { if(yych <= 'E'){ if(yych <= 'D') goto yy2; - goto yy60; + goto yy57; } else { - if(yych == 'e') goto yy60; + if(yych == 'e') goto yy57; goto yy2; } } -yy67: yych = *++YYCURSOR; +yy64: yych = *++YYCURSOR; + if(yych != 'F') goto yy2; + goto yy65; +yy65: yych = *++YYCURSOR; + if(yych != ';') goto yy2; + goto yy66; +yy66: yych = *++YYCURSOR; + goto yy67; +yy67: +#line 323 "/usr/src/php5/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 545 "re2c-output.c" +yy68: yych = *++YYCURSOR; + if(yych == 'N') goto yy65; + goto yy2; +yy69: yych = *++YYCURSOR; if(yych <= ','){ if(yych != '+') goto yy2; - goto yy68; + goto yy70; } else { - if(yych <= '-') goto yy68; + if(yych <= '-') goto yy70; if(yych <= '/') goto yy2; - if(yych <= '9') goto yy69; + if(yych <= '9') goto yy71; goto yy2; } -yy68: yych = *++YYCURSOR; +yy70: yych = *++YYCURSOR; if(yych <= '/') goto yy2; if(yych >= ':') goto yy2; - goto yy69; -yy69: ++YYCURSOR; + goto yy71; +yy71: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy70; -yy70: if(yych <= '/') goto yy2; - if(yych <= '9') goto yy69; - if(yych != ';') goto yy2; - goto yy71; -yy71: yych = *++YYCURSOR; goto yy72; -yy72: +yy72: if(yych <= '/') goto yy2; + if(yych <= '9') goto yy71; + if(yych != ';') goto yy2; + goto yy73; +yy73: yych = *++YYCURSOR; + goto yy74; +yy74: #line 316 "/usr/src/php5/ext/standard/var_unserializer.re" { *p = YYCURSOR; @@ -806,32 +827,32 @@ yy72: ZVAL_LONG(*rval, parse_iv(start + 2)); return 1; } -#line 560 "re2c-output.c" -yy73: yych = *++YYCURSOR; +#line 581 "re2c-output.c" +yy75: yych = *++YYCURSOR; if(yych <= ','){ if(yych != '+') goto yy2; - goto yy74; + goto yy76; } else { - if(yych <= '-') goto yy74; + if(yych <= '-') goto yy76; if(yych <= '/') goto yy2; - if(yych <= '9') goto yy75; + if(yych <= '9') goto yy77; goto yy2; } -yy74: yych = *++YYCURSOR; +yy76: yych = *++YYCURSOR; if(yych <= '/') goto yy2; if(yych >= ':') goto yy2; - goto yy75; -yy75: ++YYCURSOR; + goto yy77; +yy77: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy76; -yy76: if(yych <= '/') goto yy2; - if(yych <= '9') goto yy75; - if(yych != ';') goto yy2; - goto yy77; -yy77: yych = *++YYCURSOR; goto yy78; -yy78: +yy78: if(yych <= '/') goto yy2; + if(yych <= '9') goto yy77; + if(yych != ';') goto yy2; + goto yy79; +yy79: yych = *++YYCURSOR; + goto yy80; +yy80: #line 309 "/usr/src/php5/ext/standard/var_unserializer.re" { *p = YYCURSOR; @@ -839,10 +860,10 @@ yy78: ZVAL_BOOL(*rval, parse_iv(start + 2)); return 1; } -#line 593 "re2c-output.c" -yy79: yych = *++YYCURSOR; - goto yy80; -yy80: +#line 614 "re2c-output.c" +yy81: yych = *++YYCURSOR; + goto yy82; +yy82: #line 302 "/usr/src/php5/ext/standard/var_unserializer.re" { *p = YYCURSOR; @@ -850,32 +871,32 @@ yy80: ZVAL_NULL(*rval); return 1; } -#line 604 "re2c-output.c" -yy81: yych = *++YYCURSOR; +#line 625 "re2c-output.c" +yy83: yych = *++YYCURSOR; if(yych <= ','){ if(yych != '+') goto yy2; - goto yy82; + goto yy84; } else { - if(yych <= '-') goto yy82; + if(yych <= '-') goto yy84; if(yych <= '/') goto yy2; - if(yych <= '9') goto yy83; + if(yych <= '9') goto yy85; goto yy2; } -yy82: yych = *++YYCURSOR; +yy84: yych = *++YYCURSOR; if(yych <= '/') goto yy2; if(yych >= ':') goto yy2; - goto yy83; -yy83: ++YYCURSOR; + goto yy85; +yy85: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy84; -yy84: if(yych <= '/') goto yy2; - if(yych <= '9') goto yy83; - if(yych != ';') goto yy2; - goto yy85; -yy85: yych = *++YYCURSOR; goto yy86; -yy86: +yy86: if(yych <= '/') goto yy2; + if(yych <= '9') goto yy85; + if(yych != ';') goto yy2; + goto yy87; +yy87: yych = *++YYCURSOR; + goto yy88; +yy88: #line 281 "/usr/src/php5/ext/standard/var_unserializer.re" { int id; @@ -897,32 +918,32 @@ yy86: return 1; } -#line 651 "re2c-output.c" -yy87: yych = *++YYCURSOR; +#line 672 "re2c-output.c" +yy89: yych = *++YYCURSOR; if(yych <= ','){ if(yych != '+') goto yy2; - goto yy88; + goto yy90; } else { - if(yych <= '-') goto yy88; + if(yych <= '-') goto yy90; if(yych <= '/') goto yy2; - if(yych <= '9') goto yy89; + if(yych <= '9') goto yy91; goto yy2; } -yy88: yych = *++YYCURSOR; +yy90: yych = *++YYCURSOR; if(yych <= '/') goto yy2; if(yych >= ':') goto yy2; - goto yy89; -yy89: ++YYCURSOR; + goto yy91; +yy91: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy90; -yy90: if(yych <= '/') goto yy2; - if(yych <= '9') goto yy89; - if(yych != ';') goto yy2; - goto yy91; -yy91: yych = *++YYCURSOR; goto yy92; -yy92: +yy92: if(yych <= '/') goto yy2; + if(yych <= '9') goto yy91; + if(yych != ';') goto yy2; + goto yy93; +yy93: yych = *++YYCURSOR; + goto yy94; +yy94: #line 260 "/usr/src/php5/ext/standard/var_unserializer.re" { int id; @@ -944,9 +965,9 @@ yy92: return 1; } -#line 698 "re2c-output.c" +#line 719 "re2c-output.c" } -#line 463 "/usr/src/php5/ext/standard/var_unserializer.re" +#line 480 "/usr/src/php5/ext/standard/var_unserializer.re" return 0;