]> granicus.if.org Git - php/commitdiff
better alignment + support size_t
authorAnatol Belski <ab@php.net>
Tue, 10 Feb 2015 14:59:33 +0000 (15:59 +0100)
committerAnatol Belski <ab@php.net>
Tue, 10 Feb 2015 15:02:55 +0000 (16:02 +0100)
ext/json/json_scanner.c
ext/json/json_scanner.re
ext/json/php_json_scanner.h
ext/json/php_json_scanner_defs.h

index d4e6cf293cd98ee9079deb85f6761fe3bbb6df47..c75a1e02e8a89addd778df5c7602225aa6df5d19 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 */
+/* Generated by re2c 0.13.6 */
 /*
   +----------------------------------------------------------------------+
   | PHP Version 5                                                        |
@@ -82,7 +82,7 @@ static int php_json_ucs2_to_int(php_json_scanner *s, int size)
        return php_json_ucs2_to_int_ex(s, size, 1);
 }
 
-void php_json_scanner_init(php_json_scanner *s, char *str, int str_len, long options)
+void php_json_scanner_init(php_json_scanner *s, char *str, size_t str_len, int options)
 {
        s->cursor = (php_json_ctype *) str;
        s->limit = (php_json_ctype *) str + str_len;
@@ -147,56 +147,55 @@ yyc_JS:
                                  0,   0,   0,   0,   0,   0,   0,   0, 
                                  0,   0,   0,   0,   0,   0,   0,   0, 
                        };
-
                        yych = *YYCURSOR;
                        if (yych <= '9') {
                                if (yych <= ' ') {
                                        if (yych <= '\n') {
-                                               if (yych <= 0x00) goto yy2;
-                                               if (yych <= 0x08) goto yy4;
-                                               if (yych <= '\t') goto yy6;
-                                               goto yy8;
+                                               if (yych <= 0x00) goto yy3;
+                                               if (yych <= 0x08) goto yy5;
+                                               if (yych <= '\t') goto yy7;
+                                               goto yy9;
                                        } else {
-                                               if (yych == '\r') goto yy9;
-                                               if (yych <= 0x1F) goto yy4;
-                                               goto yy6;
+                                               if (yych == '\r') goto yy10;
+                                               if (yych <= 0x1F) goto yy5;
+                                               goto yy7;
                                        }
                                } else {
                                        if (yych <= ',') {
-                                               if (yych == '"') goto yy10;
-                                               if (yych <= '+') goto yy4;
-                                               goto yy12;
+                                               if (yych == '"') goto yy11;
+                                               if (yych <= '+') goto yy5;
+                                               goto yy13;
                                        } else {
-                                               if (yych <= '-') goto yy14;
-                                               if (yych <= '/') goto yy4;
-                                               if (yych <= '0') goto yy15;
-                                               goto yy17;
+                                               if (yych <= '-') goto yy15;
+                                               if (yych <= '/') goto yy5;
+                                               if (yych <= '0') goto yy16;
+                                               goto yy18;
                                        }
                                }
                        } else {
                                if (yych <= 'm') {
                                        if (yych <= '\\') {
-                                               if (yych <= ':') goto yy18;
-                                               if (yych == '[') goto yy20;
-                                               goto yy4;
+                                               if (yych <= ':') goto yy19;
+                                               if (yych == '[') goto yy21;
+                                               goto yy5;
                                        } else {
-                                               if (yych <= ']') goto yy22;
-                                               if (yych == 'f') goto yy24;
-                                               goto yy4;
+                                               if (yych <= ']') goto yy23;
+                                               if (yych == 'f') goto yy25;
+                                               goto yy5;
                                        }
                                } else {
                                        if (yych <= 'z') {
-                                               if (yych <= 'n') goto yy25;
-                                               if (yych == 't') goto yy26;
-                                               goto yy4;
+                                               if (yych <= 'n') goto yy26;
+                                               if (yych == 't') goto yy27;
+                                               goto yy5;
                                        } else {
-                                               if (yych <= '{') goto yy27;
-                                               if (yych == '}') goto yy29;
-                                               goto yy4;
+                                               if (yych <= '{') goto yy28;
+                                               if (yych == '}') goto yy30;
+                                               goto yy5;
                                        }
                                }
                        }
-yy2:
+yy3:
                        ++YYCURSOR;
                        {
                if (s->limit < s->cursor) {
@@ -206,27 +205,27 @@ yy2:
                        return PHP_JSON_T_ERROR;
                }
        }
-yy4:
-                       ++YYCURSOR;
 yy5:
+                       ++YYCURSOR;
+yy6:
                        {
                s->errcode = PHP_JSON_ERROR_SYNTAX;
                return PHP_JSON_T_ERROR;
        }
-yy6:
+yy7:
                        ++YYCURSOR;
                        yych = *YYCURSOR;
-                       goto yy57;
-yy7:
-                       { goto std; }
+                       goto yy58;
 yy8:
-                       yych = *++YYCURSOR;
-                       goto yy7;
+                       { goto std; }
 yy9:
                        yych = *++YYCURSOR;
-                       if (yych == '\n') goto yy58;
-                       goto yy57;
+                       goto yy8;
 yy10:
+                       yych = *++YYCURSOR;
+                       if (yych == '\n') goto yy59;
+                       goto yy58;
+yy11:
                        ++YYCURSOR;
                        {
                s->str_start = s->cursor;
@@ -234,25 +233,25 @@ yy10:
                PHP_JSON_CONDITION_SET(STR_P1);
                PHP_JSON_CONDITION_GOTO(STR_P1);
        }
-yy12:
+yy13:
                        ++YYCURSOR;
                        { return ','; }
-yy14:
-                       yych = *++YYCURSOR;
-                       if (yych <= '/') goto yy5;
-                       if (yych <= '0') goto yy55;
-                       if (yych <= '9') goto yy45;
-                       goto yy5;
 yy15:
+                       yych = *++YYCURSOR;
+                       if (yych <= '/') goto yy6;
+                       if (yych <= '0') goto yy56;
+                       if (yych <= '9') goto yy46;
+                       goto yy6;
+yy16:
                        yyaccept = 0;
                        yych = *(YYMARKER = ++YYCURSOR);
                        if (yych <= 'D') {
-                               if (yych == '.') goto yy47;
+                               if (yych == '.') goto yy48;
                        } else {
-                               if (yych <= 'E') goto yy48;
-                               if (yych == 'e') goto yy48;
+                               if (yych <= 'E') goto yy49;
+                               if (yych == 'e') goto yy49;
                        }
-yy16:
+yy17:
                        {
                zend_bool bigint = 0, negative = s->token[0] == '-';
                size_t digits = (size_t) (s->cursor - s->token - negative);
@@ -277,203 +276,203 @@ yy16:
                        return PHP_JSON_T_DOUBLE;
                }
        }
-yy17:
+yy18:
                        yyaccept = 0;
                        yych = *(YYMARKER = ++YYCURSOR);
-                       goto yy46;
-yy18:
+                       goto yy47;
+yy19:
                        ++YYCURSOR;
                        { return ':'; }
-yy20:
+yy21:
                        ++YYCURSOR;
                        { return '['; }
-yy22:
+yy23:
                        ++YYCURSOR;
                        { return ']'; }
-yy24:
-                       yyaccept = 1;
-                       yych = *(YYMARKER = ++YYCURSOR);
-                       if (yych == 'a') goto yy40;
-                       goto yy5;
 yy25:
                        yyaccept = 1;
                        yych = *(YYMARKER = ++YYCURSOR);
-                       if (yych == 'u') goto yy36;
-                       goto yy5;
+                       if (yych == 'a') goto yy41;
+                       goto yy6;
 yy26:
                        yyaccept = 1;
                        yych = *(YYMARKER = ++YYCURSOR);
-                       if (yych == 'r') goto yy31;
-                       goto yy5;
+                       if (yych == 'u') goto yy37;
+                       goto yy6;
 yy27:
+                       yyaccept = 1;
+                       yych = *(YYMARKER = ++YYCURSOR);
+                       if (yych == 'r') goto yy32;
+                       goto yy6;
+yy28:
                        ++YYCURSOR;
                        { return '{'; }
-yy29:
+yy30:
                        ++YYCURSOR;
                        { return '}'; }
-yy31:
-                       yych = *++YYCURSOR;
-                       if (yych == 'u') goto yy33;
 yy32:
+                       yych = *++YYCURSOR;
+                       if (yych == 'u') goto yy34;
+yy33:
                        YYCURSOR = YYMARKER;
                        if (yyaccept <= 1) {
-                               if (yyaccept <= 0) {
-                                       goto yy16;
+                               if (yyaccept == 0) {
+                                       goto yy17;
                                } else {
-                                       goto yy5;
+                                       goto yy6;
                                }
                        } else {
-                               goto yy52;
+                               goto yy53;
                        }
-yy33:
+yy34:
                        yych = *++YYCURSOR;
-                       if (yych != 'e') goto yy32;
+                       if (yych != 'e') goto yy33;
                        ++YYCURSOR;
                        {
                ZVAL_TRUE(&s->value);
                return PHP_JSON_T_TRUE;
        }
-yy36:
+yy37:
                        yych = *++YYCURSOR;
-                       if (yych != 'l') goto yy32;
+                       if (yych != 'l') goto yy33;
                        yych = *++YYCURSOR;
-                       if (yych != 'l') goto yy32;
+                       if (yych != 'l') goto yy33;
                        ++YYCURSOR;
                        {
                ZVAL_NULL(&s->value);
                return PHP_JSON_T_NUL;
        }
-yy40:
+yy41:
                        yych = *++YYCURSOR;
-                       if (yych != 'l') goto yy32;
+                       if (yych != 'l') goto yy33;
                        yych = *++YYCURSOR;
-                       if (yych != 's') goto yy32;
+                       if (yych != 's') goto yy33;
                        yych = *++YYCURSOR;
-                       if (yych != 'e') goto yy32;
+                       if (yych != 'e') goto yy33;
                        ++YYCURSOR;
                        {
                ZVAL_FALSE(&s->value);
                return PHP_JSON_T_FALSE;
        }
-yy45:
+yy46:
                        yyaccept = 0;
                        YYMARKER = ++YYCURSOR;
                        yych = *YYCURSOR;
-yy46:
+yy47:
                        if (yybm[0+yych] & 64) {
-                               goto yy45;
+                               goto yy46;
                        }
                        if (yych <= 'D') {
-                               if (yych != '.') goto yy16;
+                               if (yych != '.') goto yy17;
                        } else {
-                               if (yych <= 'E') goto yy48;
-                               if (yych == 'e') goto yy48;
-                               goto yy16;
+                               if (yych <= 'E') goto yy49;
+                               if (yych == 'e') goto yy49;
+                               goto yy17;
                        }
-yy47:
-                       yych = *++YYCURSOR;
-                       if (yych <= '/') goto yy32;
-                       if (yych <= '9') goto yy53;
-                       goto yy32;
 yy48:
+                       yych = *++YYCURSOR;
+                       if (yych <= '/') goto yy33;
+                       if (yych <= '9') goto yy54;
+                       goto yy33;
+yy49:
                        yych = *++YYCURSOR;
                        if (yych <= ',') {
-                               if (yych != '+') goto yy32;
+                               if (yych != '+') goto yy33;
                        } else {
-                               if (yych <= '-') goto yy49;
-                               if (yych <= '/') goto yy32;
-                               if (yych <= '9') goto yy50;
-                               goto yy32;
+                               if (yych <= '-') goto yy50;
+                               if (yych <= '/') goto yy33;
+                               if (yych <= '9') goto yy51;
+                               goto yy33;
                        }
-yy49:
-                       yych = *++YYCURSOR;
-                       if (yych <= '/') goto yy32;
-                       if (yych >= ':') goto yy32;
 yy50:
+                       yych = *++YYCURSOR;
+                       if (yych <= '/') goto yy33;
+                       if (yych >= ':') goto yy33;
+yy51:
                        ++YYCURSOR;
                        yych = *YYCURSOR;
-                       if (yych <= '/') goto yy52;
-                       if (yych <= '9') goto yy50;
-yy52:
+                       if (yych <= '/') goto yy53;
+                       if (yych <= '9') goto yy51;
+yy53:
                        {
                ZVAL_DOUBLE(&s->value, zend_strtod((char *) s->token, NULL));
                return PHP_JSON_T_DOUBLE;
        }
-yy53:
+yy54:
                        yyaccept = 2;
                        YYMARKER = ++YYCURSOR;
                        yych = *YYCURSOR;
                        if (yych <= 'D') {
-                               if (yych <= '/') goto yy52;
-                               if (yych <= '9') goto yy53;
-                               goto yy52;
+                               if (yych <= '/') goto yy53;
+                               if (yych <= '9') goto yy54;
+                               goto yy53;
                        } else {
-                               if (yych <= 'E') goto yy48;
-                               if (yych == 'e') goto yy48;
-                               goto yy52;
+                               if (yych <= 'E') goto yy49;
+                               if (yych == 'e') goto yy49;
+                               goto yy53;
                        }
-yy55:
+yy56:
                        yyaccept = 0;
                        yych = *(YYMARKER = ++YYCURSOR);
                        if (yych <= 'D') {
-                               if (yych == '.') goto yy47;
-                               goto yy16;
+                               if (yych == '.') goto yy48;
+                               goto yy17;
                        } else {
-                               if (yych <= 'E') goto yy48;
-                               if (yych == 'e') goto yy48;
-                               goto yy16;
+                               if (yych <= 'E') goto yy49;
+                               if (yych == 'e') goto yy49;
+                               goto yy17;
                        }
-yy56:
+yy57:
                        ++YYCURSOR;
                        yych = *YYCURSOR;
-yy57:
+yy58:
                        if (yybm[0+yych] & 128) {
-                               goto yy56;
+                               goto yy57;
                        }
-                       goto yy7;
-yy58:
+                       goto yy8;
+yy59:
                        ++YYCURSOR;
                        yych = *YYCURSOR;
-                       goto yy7;
+                       goto yy8;
                }
 /* *********************************** */
 yyc_STR_P1:
                yych = *YYCURSOR;
                if (yych <= 0xDF) {
                        if (yych <= '[') {
-                               if (yych <= 0x1F) goto yy61;
-                               if (yych == '"') goto yy65;
-                               goto yy63;
+                               if (yych <= 0x1F) goto yy62;
+                               if (yych == '"') goto yy66;
+                               goto yy64;
                        } else {
-                               if (yych <= '\\') goto yy67;
-                               if (yych <= 0x7F) goto yy63;
-                               if (yych <= 0xC1) goto yy69;
-                               goto yy71;
+                               if (yych <= '\\') goto yy68;
+                               if (yych <= 0x7F) goto yy64;
+                               if (yych <= 0xC1) goto yy70;
+                               goto yy72;
                        }
                } else {
                        if (yych <= 0xEF) {
-                               if (yych <= 0xE0) goto yy72;
-                               if (yych <= 0xEC) goto yy73;
-                               if (yych <= 0xED) goto yy74;
-                               goto yy75;
+                               if (yych <= 0xE0) goto yy73;
+                               if (yych <= 0xEC) goto yy74;
+                               if (yych <= 0xED) goto yy75;
+                               goto yy76;
                        } else {
-                               if (yych <= 0xF0) goto yy76;
-                               if (yych <= 0xF3) goto yy77;
-                               if (yych <= 0xF4) goto yy78;
-                               goto yy69;
+                               if (yych <= 0xF0) goto yy77;
+                               if (yych <= 0xF3) goto yy78;
+                               if (yych <= 0xF4) goto yy79;
+                               goto yy70;
                        }
                }
-yy61:
+yy62:
                ++YYCURSOR;
                {
                s->errcode = PHP_JSON_ERROR_CTRL_CHAR;
                return PHP_JSON_T_ERROR;
        }
-yy63:
-               ++YYCURSOR;
 yy64:
-               { PHP_JSON_CONDITION_GOTO(STR_P1); }
+               ++YYCURSOR;
 yy65:
+               { PHP_JSON_CONDITION_GOTO(STR_P1); }
+yy66:
                ++YYCURSOR;
                {
                zend_string *str;
@@ -497,361 +496,361 @@ yy65:
                        return PHP_JSON_T_STRING;
                }
        }
-yy67:
+yy68:
                yyaccept = 0;
                yych = *(YYMARKER = ++YYCURSOR);
                if (yych <= 'e') {
                        if (yych <= '/') {
-                               if (yych == '"') goto yy91;
-                               if (yych >= '/') goto yy91;
+                               if (yych == '"') goto yy92;
+                               if (yych >= '/') goto yy92;
                        } else {
                                if (yych <= '\\') {
-                                       if (yych >= '\\') goto yy91;
+                                       if (yych >= '\\') goto yy92;
                                } else {
-                                       if (yych == 'b') goto yy91;
+                                       if (yych == 'b') goto yy92;
                                }
                        }
                } else {
                        if (yych <= 'q') {
-                               if (yych <= 'f') goto yy91;
-                               if (yych == 'n') goto yy91;
+                               if (yych <= 'f') goto yy92;
+                               if (yych == 'n') goto yy92;
                        } else {
                                if (yych <= 's') {
-                                       if (yych <= 'r') goto yy91;
+                                       if (yych <= 'r') goto yy92;
                                } else {
-                                       if (yych <= 't') goto yy91;
-                                       if (yych <= 'u') goto yy93;
+                                       if (yych <= 't') goto yy92;
+                                       if (yych <= 'u') goto yy94;
                                }
                        }
                }
-yy68:
+yy69:
                {
                s->errcode = PHP_JSON_ERROR_SYNTAX;
                return PHP_JSON_T_ERROR;
        }
-yy69:
-               ++YYCURSOR;
 yy70:
+               ++YYCURSOR;
+yy71:
                {
                s->errcode = PHP_JSON_ERROR_UTF8;
                return PHP_JSON_T_ERROR;
        }
-yy71:
-               yych = *++YYCURSOR;
-               if (yych <= 0x7F) goto yy70;
-               if (yych <= 0xBF) goto yy82;
-               goto yy70;
 yy72:
-               yyaccept = 1;
-               yych = *(YYMARKER = ++YYCURSOR);
-               if (yych <= 0x9F) goto yy70;
-               if (yych <= 0xBF) goto yy90;
-               goto yy70;
+               yych = *++YYCURSOR;
+               if (yych <= 0x7F) goto yy71;
+               if (yych <= 0xBF) goto yy83;
+               goto yy71;
 yy73:
                yyaccept = 1;
                yych = *(YYMARKER = ++YYCURSOR);
-               if (yych <= 0x7F) goto yy70;
-               if (yych <= 0xBF) goto yy89;
-               goto yy70;
+               if (yych <= 0x9F) goto yy71;
+               if (yych <= 0xBF) goto yy91;
+               goto yy71;
 yy74:
                yyaccept = 1;
                yych = *(YYMARKER = ++YYCURSOR);
-               if (yych <= 0x7F) goto yy70;
-               if (yych <= 0x9F) goto yy88;
-               goto yy70;
+               if (yych <= 0x7F) goto yy71;
+               if (yych <= 0xBF) goto yy90;
+               goto yy71;
 yy75:
                yyaccept = 1;
                yych = *(YYMARKER = ++YYCURSOR);
-               if (yych <= 0x7F) goto yy70;
-               if (yych <= 0xBF) goto yy87;
-               goto yy70;
+               if (yych <= 0x7F) goto yy71;
+               if (yych <= 0x9F) goto yy89;
+               goto yy71;
 yy76:
                yyaccept = 1;
                yych = *(YYMARKER = ++YYCURSOR);
-               if (yych <= 0x8F) goto yy70;
-               if (yych <= 0xBF) goto yy85;
-               goto yy70;
+               if (yych <= 0x7F) goto yy71;
+               if (yych <= 0xBF) goto yy88;
+               goto yy71;
 yy77:
                yyaccept = 1;
                yych = *(YYMARKER = ++YYCURSOR);
-               if (yych <= 0x7F) goto yy70;
-               if (yych <= 0xBF) goto yy83;
-               goto yy70;
+               if (yych <= 0x8F) goto yy71;
+               if (yych <= 0xBF) goto yy86;
+               goto yy71;
 yy78:
                yyaccept = 1;
                yych = *(YYMARKER = ++YYCURSOR);
-               if (yych <= 0x7F) goto yy70;
-               if (yych >= 0x90) goto yy70;
+               if (yych <= 0x7F) goto yy71;
+               if (yych <= 0xBF) goto yy84;
+               goto yy71;
+yy79:
+               yyaccept = 1;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= 0x7F) goto yy71;
+               if (yych >= 0x90) goto yy71;
                yych = *++YYCURSOR;
-               if (yych <= 0x7F) goto yy80;
-               if (yych <= 0xBF) goto yy81;
-yy80:
+               if (yych <= 0x7F) goto yy81;
+               if (yych <= 0xBF) goto yy82;
+yy81:
                YYCURSOR = YYMARKER;
                if (yyaccept <= 1) {
-                       if (yyaccept <= 0) {
-                               goto yy68;
+                       if (yyaccept == 0) {
+                               goto yy69;
                        } else {
-                               goto yy70;
+                               goto yy71;
                        }
                } else {
-                       goto yy100;
+                       goto yy101;
                }
-yy81:
-               yych = *++YYCURSOR;
-               if (yych <= 0x7F) goto yy80;
-               if (yych >= 0xC0) goto yy80;
 yy82:
                yych = *++YYCURSOR;
-               goto yy64;
+               if (yych <= 0x7F) goto yy81;
+               if (yych >= 0xC0) goto yy81;
 yy83:
                yych = *++YYCURSOR;
-               if (yych <= 0x7F) goto yy80;
-               if (yych >= 0xC0) goto yy80;
+               goto yy65;
+yy84:
                yych = *++YYCURSOR;
-               if (yych <= 0x7F) goto yy80;
-               if (yych <= 0xBF) goto yy82;
-               goto yy80;
-yy85:
+               if (yych <= 0x7F) goto yy81;
+               if (yych >= 0xC0) goto yy81;
                yych = *++YYCURSOR;
-               if (yych <= 0x7F) goto yy80;
-               if (yych >= 0xC0) goto yy80;
+               if (yych <= 0x7F) goto yy81;
+               if (yych <= 0xBF) goto yy83;
+               goto yy81;
+yy86:
                yych = *++YYCURSOR;
-               if (yych <= 0x7F) goto yy80;
-               if (yych <= 0xBF) goto yy82;
-               goto yy80;
-yy87:
+               if (yych <= 0x7F) goto yy81;
+               if (yych >= 0xC0) goto yy81;
                yych = *++YYCURSOR;
-               if (yych <= 0x7F) goto yy80;
-               if (yych <= 0xBF) goto yy82;
-               goto yy80;
+               if (yych <= 0x7F) goto yy81;
+               if (yych <= 0xBF) goto yy83;
+               goto yy81;
 yy88:
                yych = *++YYCURSOR;
-               if (yych <= 0x7F) goto yy80;
-               if (yych <= 0xBF) goto yy82;
-               goto yy80;
+               if (yych <= 0x7F) goto yy81;
+               if (yych <= 0xBF) goto yy83;
+               goto yy81;
 yy89:
                yych = *++YYCURSOR;
-               if (yych <= 0x7F) goto yy80;
-               if (yych <= 0xBF) goto yy82;
-               goto yy80;
+               if (yych <= 0x7F) goto yy81;
+               if (yych <= 0xBF) goto yy83;
+               goto yy81;
 yy90:
                yych = *++YYCURSOR;
-               if (yych <= 0x7F) goto yy80;
-               if (yych <= 0xBF) goto yy82;
-               goto yy80;
+               if (yych <= 0x7F) goto yy81;
+               if (yych <= 0xBF) goto yy83;
+               goto yy81;
 yy91:
+               yych = *++YYCURSOR;
+               if (yych <= 0x7F) goto yy81;
+               if (yych <= 0xBF) goto yy83;
+               goto yy81;
+yy92:
                ++YYCURSOR;
                {
                s->str_esc++;
                PHP_JSON_CONDITION_GOTO(STR_P1);
        }
-yy93:
+yy94:
                yych = *++YYCURSOR;
                if (yych <= 'D') {
                        if (yych <= '9') {
-                               if (yych <= '/') goto yy80;
-                               if (yych >= '1') goto yy96;
+                               if (yych <= '/') goto yy81;
+                               if (yych >= '1') goto yy97;
                        } else {
-                               if (yych <= '@') goto yy80;
-                               if (yych <= 'C') goto yy96;
-                               goto yy95;
+                               if (yych <= '@') goto yy81;
+                               if (yych <= 'C') goto yy97;
+                               goto yy96;
                        }
                } else {
                        if (yych <= 'c') {
-                               if (yych <= 'F') goto yy96;
-                               if (yych <= '`') goto yy80;
-                               goto yy96;
+                               if (yych <= 'F') goto yy97;
+                               if (yych <= '`') goto yy81;
+                               goto yy97;
                        } else {
-                               if (yych <= 'd') goto yy95;
-                               if (yych <= 'f') goto yy96;
-                               goto yy80;
+                               if (yych <= 'd') goto yy96;
+                               if (yych <= 'f') goto yy97;
+                               goto yy81;
                        }
                }
                yych = *++YYCURSOR;
                if (yych <= '9') {
-                       if (yych <= '/') goto yy80;
-                       if (yych <= '0') goto yy111;
-                       if (yych <= '7') goto yy112;
-                       goto yy97;
+                       if (yych <= '/') goto yy81;
+                       if (yych <= '0') goto yy112;
+                       if (yych <= '7') goto yy113;
+                       goto yy98;
                } else {
                        if (yych <= 'F') {
-                               if (yych <= '@') goto yy80;
-                               goto yy97;
+                               if (yych <= '@') goto yy81;
+                               goto yy98;
                        } else {
-                               if (yych <= '`') goto yy80;
-                               if (yych <= 'f') goto yy97;
-                               goto yy80;
+                               if (yych <= '`') goto yy81;
+                               if (yych <= 'f') goto yy98;
+                               goto yy81;
                        }
                }
-yy95:
+yy96:
                yych = *++YYCURSOR;
                if (yych <= 'B') {
                        if (yych <= '7') {
-                               if (yych <= '/') goto yy80;
-                               goto yy97;
+                               if (yych <= '/') goto yy81;
+                               goto yy98;
                        } else {
-                               if (yych <= '9') goto yy101;
-                               if (yych <= '@') goto yy80;
-                               goto yy101;
+                               if (yych <= '9') goto yy102;
+                               if (yych <= '@') goto yy81;
+                               goto yy102;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych <= 'F') goto yy97;
-                               goto yy80;
+                               if (yych <= 'F') goto yy98;
+                               goto yy81;
                        } else {
-                               if (yych <= 'b') goto yy101;
-                               if (yych <= 'f') goto yy97;
-                               goto yy80;
+                               if (yych <= 'b') goto yy102;
+                               if (yych <= 'f') goto yy98;
+                               goto yy81;
                        }
                }
-yy96:
-               yych = *++YYCURSOR;
-               if (yych <= '@') {
-                       if (yych <= '/') goto yy80;
-                       if (yych >= ':') goto yy80;
-               } else {
-                       if (yych <= 'F') goto yy97;
-                       if (yych <= '`') goto yy80;
-                       if (yych >= 'g') goto yy80;
-               }
 yy97:
                yych = *++YYCURSOR;
                if (yych <= '@') {
-                       if (yych <= '/') goto yy80;
-                       if (yych >= ':') goto yy80;
+                       if (yych <= '/') goto yy81;
+                       if (yych >= ':') goto yy81;
                } else {
                        if (yych <= 'F') goto yy98;
-                       if (yych <= '`') goto yy80;
-                       if (yych >= 'g') goto yy80;
+                       if (yych <= '`') goto yy81;
+                       if (yych >= 'g') goto yy81;
                }
 yy98:
                yych = *++YYCURSOR;
                if (yych <= '@') {
-                       if (yych <= '/') goto yy80;
-                       if (yych >= ':') goto yy80;
+                       if (yych <= '/') goto yy81;
+                       if (yych >= ':') goto yy81;
                } else {
                        if (yych <= 'F') goto yy99;
-                       if (yych <= '`') goto yy80;
-                       if (yych >= 'g') goto yy80;
+                       if (yych <= '`') goto yy81;
+                       if (yych >= 'g') goto yy81;
                }
 yy99:
-               ++YYCURSOR;
+               yych = *++YYCURSOR;
+               if (yych <= '@') {
+                       if (yych <= '/') goto yy81;
+                       if (yych >= ':') goto yy81;
+               } else {
+                       if (yych <= 'F') goto yy100;
+                       if (yych <= '`') goto yy81;
+                       if (yych >= 'g') goto yy81;
+               }
 yy100:
+               ++YYCURSOR;
+yy101:
                {
                s->str_esc += 3;
                PHP_JSON_CONDITION_GOTO(STR_P1);
        }
-yy101:
+yy102:
                yych = *++YYCURSOR;
                if (yych <= '@') {
-                       if (yych <= '/') goto yy80;
-                       if (yych >= ':') goto yy80;
+                       if (yych <= '/') goto yy81;
+                       if (yych >= ':') goto yy81;
                } else {
-                       if (yych <= 'F') goto yy102;
-                       if (yych <= '`') goto yy80;
-                       if (yych >= 'g') goto yy80;
+                       if (yych <= 'F') goto yy103;
+                       if (yych <= '`') goto yy81;
+                       if (yych >= 'g') goto yy81;
                }
-yy102:
+yy103:
                yych = *++YYCURSOR;
                if (yych <= '@') {
-                       if (yych <= '/') goto yy80;
-                       if (yych >= ':') goto yy80;
+                       if (yych <= '/') goto yy81;
+                       if (yych >= ':') goto yy81;
                } else {
-                       if (yych <= 'F') goto yy103;
-                       if (yych <= '`') goto yy80;
-                       if (yych >= 'g') goto yy80;
+                       if (yych <= 'F') goto yy104;
+                       if (yych <= '`') goto yy81;
+                       if (yych >= 'g') goto yy81;
                }
-yy103:
+yy104:
                yyaccept = 2;
                yych = *(YYMARKER = ++YYCURSOR);
-               if (yych != '\\') goto yy100;
-               yych = *++YYCURSOR;
-               if (yych != 'u') goto yy80;
+               if (yych != '\\') goto yy101;
                yych = *++YYCURSOR;
-               if (yych == 'D') goto yy106;
-               if (yych != 'd') goto yy80;
-yy106:
+               if (yych != 'u') goto yy81;
                yych = *++YYCURSOR;
-               if (yych <= 'B') goto yy80;
-               if (yych <= 'F') goto yy107;
-               if (yych <= 'b') goto yy80;
-               if (yych >= 'g') goto yy80;
+               if (yych == 'D') goto yy107;
+               if (yych != 'd') goto yy81;
 yy107:
                yych = *++YYCURSOR;
-               if (yych <= '@') {
-                       if (yych <= '/') goto yy80;
-                       if (yych >= ':') goto yy80;
-               } else {
-                       if (yych <= 'F') goto yy108;
-                       if (yych <= '`') goto yy80;
-                       if (yych >= 'g') goto yy80;
-               }
+               if (yych <= 'B') goto yy81;
+               if (yych <= 'F') goto yy108;
+               if (yych <= 'b') goto yy81;
+               if (yych >= 'g') goto yy81;
 yy108:
                yych = *++YYCURSOR;
                if (yych <= '@') {
-                       if (yych <= '/') goto yy80;
-                       if (yych >= ':') goto yy80;
+                       if (yych <= '/') goto yy81;
+                       if (yych >= ':') goto yy81;
                } else {
                        if (yych <= 'F') goto yy109;
-                       if (yych <= '`') goto yy80;
-                       if (yych >= 'g') goto yy80;
+                       if (yych <= '`') goto yy81;
+                       if (yych >= 'g') goto yy81;
                }
 yy109:
+               yych = *++YYCURSOR;
+               if (yych <= '@') {
+                       if (yych <= '/') goto yy81;
+                       if (yych >= ':') goto yy81;
+               } else {
+                       if (yych <= 'F') goto yy110;
+                       if (yych <= '`') goto yy81;
+                       if (yych >= 'g') goto yy81;
+               }
+yy110:
                ++YYCURSOR;
                {
                s->str_esc += 8;
                PHP_JSON_CONDITION_GOTO(STR_P1);
        }
-yy111:
-               yych = *++YYCURSOR;
-               if (yych <= '@') {
-                       if (yych <= '/') goto yy80;
-                       if (yych <= '7') goto yy116;
-                       if (yych <= '9') goto yy113;
-                       goto yy80;
-               } else {
-                       if (yych <= 'F') goto yy113;
-                       if (yych <= '`') goto yy80;
-                       if (yych <= 'f') goto yy113;
-                       goto yy80;
-               }
 yy112:
                yych = *++YYCURSOR;
                if (yych <= '@') {
-                       if (yych <= '/') goto yy80;
-                       if (yych >= ':') goto yy80;
+                       if (yych <= '/') goto yy81;
+                       if (yych <= '7') goto yy117;
+                       if (yych <= '9') goto yy114;
+                       goto yy81;
                } else {
-                       if (yych <= 'F') goto yy113;
-                       if (yych <= '`') goto yy80;
-                       if (yych >= 'g') goto yy80;
+                       if (yych <= 'F') goto yy114;
+                       if (yych <= '`') goto yy81;
+                       if (yych <= 'f') goto yy114;
+                       goto yy81;
                }
 yy113:
                yych = *++YYCURSOR;
                if (yych <= '@') {
-                       if (yych <= '/') goto yy80;
-                       if (yych >= ':') goto yy80;
+                       if (yych <= '/') goto yy81;
+                       if (yych >= ':') goto yy81;
                } else {
                        if (yych <= 'F') goto yy114;
-                       if (yych <= '`') goto yy80;
-                       if (yych >= 'g') goto yy80;
+                       if (yych <= '`') goto yy81;
+                       if (yych >= 'g') goto yy81;
                }
 yy114:
+               yych = *++YYCURSOR;
+               if (yych <= '@') {
+                       if (yych <= '/') goto yy81;
+                       if (yych >= ':') goto yy81;
+               } else {
+                       if (yych <= 'F') goto yy115;
+                       if (yych <= '`') goto yy81;
+                       if (yych >= 'g') goto yy81;
+               }
+yy115:
                ++YYCURSOR;
                {
                s->str_esc += 4;
                PHP_JSON_CONDITION_GOTO(STR_P1);
        }
-yy116:
+yy117:
                yych = *++YYCURSOR;
                if (yych <= '@') {
-                       if (yych <= '/') goto yy80;
-                       if (yych >= ':') goto yy80;
+                       if (yych <= '/') goto yy81;
+                       if (yych >= ':') goto yy81;
                } else {
-                       if (yych <= 'F') goto yy117;
-                       if (yych <= '`') goto yy80;
-                       if (yych >= 'g') goto yy80;
+                       if (yych <= 'F') goto yy118;
+                       if (yych <= '`') goto yy81;
+                       if (yych >= 'g') goto yy81;
                }
-yy117:
+yy118:
                ++YYCURSOR;
                {
                s->str_esc += 5;
@@ -860,22 +859,22 @@ yy117:
 /* *********************************** */
 yyc_STR_P2:
                yych = *YYCURSOR;
-               if (yych == '"') goto yy123;
-               if (yych == '\\') goto yy125;
+               if (yych == '"') goto yy124;
+               if (yych == '\\') goto yy126;
                ++YYCURSOR;
                { PHP_JSON_CONDITION_GOTO(STR_P2); }
-yy123:
+yy124:
                ++YYCURSOR;
                YYSETCONDITION(yycJS);
                {
                PHP_JSON_SCANNER_COPY_ESC();
                return PHP_JSON_T_STRING;
        }
-yy125:
+yy126:
                yyaccept = 0;
                yych = *(YYMARKER = ++YYCURSOR);
-               if (yych == 'u') goto yy127;
-yy126:
+               if (yych == 'u') goto yy128;
+yy127:
                {
                char esc;
                PHP_JSON_SCANNER_COPY_ESC();
@@ -909,105 +908,105 @@ yy126:
                s->str_start = s->cursor;
                PHP_JSON_CONDITION_GOTO(STR_P2);
        }
-yy127:
+yy128:
                yych = *++YYCURSOR;
                if (yych <= 'D') {
                        if (yych <= '9') {
-                               if (yych <= '/') goto yy128;
-                               if (yych <= '0') goto yy129;
-                               goto yy131;
+                               if (yych <= '/') goto yy129;
+                               if (yych <= '0') goto yy130;
+                               goto yy132;
                        } else {
-                               if (yych <= '@') goto yy128;
-                               if (yych <= 'C') goto yy131;
-                               goto yy130;
+                               if (yych <= '@') goto yy129;
+                               if (yych <= 'C') goto yy132;
+                               goto yy131;
                        }
                } else {
                        if (yych <= 'c') {
-                               if (yych <= 'F') goto yy131;
-                               if (yych >= 'a') goto yy131;
+                               if (yych <= 'F') goto yy132;
+                               if (yych >= 'a') goto yy132;
                        } else {
-                               if (yych <= 'd') goto yy130;
-                               if (yych <= 'f') goto yy131;
+                               if (yych <= 'd') goto yy131;
+                               if (yych <= 'f') goto yy132;
                        }
                }
-yy128:
+yy129:
                YYCURSOR = YYMARKER;
-               if (yyaccept <= 0) {
-                       goto yy126;
+               if (yyaccept == 0) {
+                       goto yy127;
                } else {
-                       goto yy135;
+                       goto yy136;
                }
-yy129:
+yy130:
                yych = *++YYCURSOR;
                if (yych <= '9') {
-                       if (yych <= '/') goto yy128;
-                       if (yych <= '0') goto yy146;
-                       if (yych <= '7') goto yy147;
-                       goto yy132;
+                       if (yych <= '/') goto yy129;
+                       if (yych <= '0') goto yy147;
+                       if (yych <= '7') goto yy148;
+                       goto yy133;
                } else {
                        if (yych <= 'F') {
-                               if (yych <= '@') goto yy128;
-                               goto yy132;
+                               if (yych <= '@') goto yy129;
+                               goto yy133;
                        } else {
-                               if (yych <= '`') goto yy128;
-                               if (yych <= 'f') goto yy132;
-                               goto yy128;
+                               if (yych <= '`') goto yy129;
+                               if (yych <= 'f') goto yy133;
+                               goto yy129;
                        }
                }
-yy130:
+yy131:
                yych = *++YYCURSOR;
                if (yych <= 'B') {
                        if (yych <= '7') {
-                               if (yych <= '/') goto yy128;
-                               goto yy132;
+                               if (yych <= '/') goto yy129;
+                               goto yy133;
                        } else {
-                               if (yych <= '9') goto yy136;
-                               if (yych <= '@') goto yy128;
-                               goto yy136;
+                               if (yych <= '9') goto yy137;
+                               if (yych <= '@') goto yy129;
+                               goto yy137;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych <= 'F') goto yy132;
-                               goto yy128;
+                               if (yych <= 'F') goto yy133;
+                               goto yy129;
                        } else {
-                               if (yych <= 'b') goto yy136;
-                               if (yych <= 'f') goto yy132;
-                               goto yy128;
+                               if (yych <= 'b') goto yy137;
+                               if (yych <= 'f') goto yy133;
+                               goto yy129;
                        }
                }
-yy131:
-               yych = *++YYCURSOR;
-               if (yych <= '@') {
-                       if (yych <= '/') goto yy128;
-                       if (yych >= ':') goto yy128;
-               } else {
-                       if (yych <= 'F') goto yy132;
-                       if (yych <= '`') goto yy128;
-                       if (yych >= 'g') goto yy128;
-               }
 yy132:
                yych = *++YYCURSOR;
                if (yych <= '@') {
-                       if (yych <= '/') goto yy128;
-                       if (yych >= ':') goto yy128;
+                       if (yych <= '/') goto yy129;
+                       if (yych >= ':') goto yy129;
                } else {
                        if (yych <= 'F') goto yy133;
-                       if (yych <= '`') goto yy128;
-                       if (yych >= 'g') goto yy128;
+                       if (yych <= '`') goto yy129;
+                       if (yych >= 'g') goto yy129;
                }
 yy133:
                yych = *++YYCURSOR;
                if (yych <= '@') {
-                       if (yych <= '/') goto yy128;
-                       if (yych >= ':') goto yy128;
+                       if (yych <= '/') goto yy129;
+                       if (yych >= ':') goto yy129;
                } else {
                        if (yych <= 'F') goto yy134;
-                       if (yych <= '`') goto yy128;
-                       if (yych >= 'g') goto yy128;
+                       if (yych <= '`') goto yy129;
+                       if (yych >= 'g') goto yy129;
                }
 yy134:
-               ++YYCURSOR;
+               yych = *++YYCURSOR;
+               if (yych <= '@') {
+                       if (yych <= '/') goto yy129;
+                       if (yych >= ':') goto yy129;
+               } else {
+                       if (yych <= 'F') goto yy135;
+                       if (yych <= '`') goto yy129;
+                       if (yych >= 'g') goto yy129;
+               }
 yy135:
+               ++YYCURSOR;
+yy136:
                {
                int utf16 = php_json_ucs2_to_int(s, 4);
                PHP_JSON_SCANNER_COPY_UTF();
@@ -1017,62 +1016,62 @@ yy135:
                s->str_start = s->cursor;
                PHP_JSON_CONDITION_GOTO(STR_P2);
        }
-yy136:
+yy137:
                yych = *++YYCURSOR;
                if (yych <= '@') {
-                       if (yych <= '/') goto yy128;
-                       if (yych >= ':') goto yy128;
+                       if (yych <= '/') goto yy129;
+                       if (yych >= ':') goto yy129;
                } else {
-                       if (yych <= 'F') goto yy137;
-                       if (yych <= '`') goto yy128;
-                       if (yych >= 'g') goto yy128;
+                       if (yych <= 'F') goto yy138;
+                       if (yych <= '`') goto yy129;
+                       if (yych >= 'g') goto yy129;
                }
-yy137:
+yy138:
                yych = *++YYCURSOR;
                if (yych <= '@') {
-                       if (yych <= '/') goto yy128;
-                       if (yych >= ':') goto yy128;
+                       if (yych <= '/') goto yy129;
+                       if (yych >= ':') goto yy129;
                } else {
-                       if (yych <= 'F') goto yy138;
-                       if (yych <= '`') goto yy128;
-                       if (yych >= 'g') goto yy128;
+                       if (yych <= 'F') goto yy139;
+                       if (yych <= '`') goto yy129;
+                       if (yych >= 'g') goto yy129;
                }
-yy138:
+yy139:
                yyaccept = 1;
                yych = *(YYMARKER = ++YYCURSOR);
-               if (yych != '\\') goto yy135;
-               yych = *++YYCURSOR;
-               if (yych != 'u') goto yy128;
+               if (yych != '\\') goto yy136;
                yych = *++YYCURSOR;
-               if (yych == 'D') goto yy141;
-               if (yych != 'd') goto yy128;
-yy141:
+               if (yych != 'u') goto yy129;
                yych = *++YYCURSOR;
-               if (yych <= 'B') goto yy128;
-               if (yych <= 'F') goto yy142;
-               if (yych <= 'b') goto yy128;
-               if (yych >= 'g') goto yy128;
+               if (yych == 'D') goto yy142;
+               if (yych != 'd') goto yy129;
 yy142:
                yych = *++YYCURSOR;
-               if (yych <= '@') {
-                       if (yych <= '/') goto yy128;
-                       if (yych >= ':') goto yy128;
-               } else {
-                       if (yych <= 'F') goto yy143;
-                       if (yych <= '`') goto yy128;
-                       if (yych >= 'g') goto yy128;
-               }
+               if (yych <= 'B') goto yy129;
+               if (yych <= 'F') goto yy143;
+               if (yych <= 'b') goto yy129;
+               if (yych >= 'g') goto yy129;
 yy143:
                yych = *++YYCURSOR;
                if (yych <= '@') {
-                       if (yych <= '/') goto yy128;
-                       if (yych >= ':') goto yy128;
+                       if (yych <= '/') goto yy129;
+                       if (yych >= ':') goto yy129;
                } else {
                        if (yych <= 'F') goto yy144;
-                       if (yych <= '`') goto yy128;
-                       if (yych >= 'g') goto yy128;
+                       if (yych <= '`') goto yy129;
+                       if (yych >= 'g') goto yy129;
                }
 yy144:
+               yych = *++YYCURSOR;
+               if (yych <= '@') {
+                       if (yych <= '/') goto yy129;
+                       if (yych >= ':') goto yy129;
+               } else {
+                       if (yych <= 'F') goto yy145;
+                       if (yych <= '`') goto yy129;
+                       if (yych >= 'g') goto yy129;
+               }
+yy145:
                ++YYCURSOR;
                {
                int utf32, utf16_hi, utf16_lo;
@@ -1087,40 +1086,40 @@ yy144:
                s->str_start = s->cursor;
                PHP_JSON_CONDITION_GOTO(STR_P2);
        }
-yy146:
-               yych = *++YYCURSOR;
-               if (yych <= '@') {
-                       if (yych <= '/') goto yy128;
-                       if (yych <= '7') goto yy151;
-                       if (yych <= '9') goto yy148;
-                       goto yy128;
-               } else {
-                       if (yych <= 'F') goto yy148;
-                       if (yych <= '`') goto yy128;
-                       if (yych <= 'f') goto yy148;
-                       goto yy128;
-               }
 yy147:
                yych = *++YYCURSOR;
                if (yych <= '@') {
-                       if (yych <= '/') goto yy128;
-                       if (yych >= ':') goto yy128;
+                       if (yych <= '/') goto yy129;
+                       if (yych <= '7') goto yy152;
+                       if (yych <= '9') goto yy149;
+                       goto yy129;
                } else {
-                       if (yych <= 'F') goto yy148;
-                       if (yych <= '`') goto yy128;
-                       if (yych >= 'g') goto yy128;
+                       if (yych <= 'F') goto yy149;
+                       if (yych <= '`') goto yy129;
+                       if (yych <= 'f') goto yy149;
+                       goto yy129;
                }
 yy148:
                yych = *++YYCURSOR;
                if (yych <= '@') {
-                       if (yych <= '/') goto yy128;
-                       if (yych >= ':') goto yy128;
+                       if (yych <= '/') goto yy129;
+                       if (yych >= ':') goto yy129;
                } else {
                        if (yych <= 'F') goto yy149;
-                       if (yych <= '`') goto yy128;
-                       if (yych >= 'g') goto yy128;
+                       if (yych <= '`') goto yy129;
+                       if (yych >= 'g') goto yy129;
                }
 yy149:
+               yych = *++YYCURSOR;
+               if (yych <= '@') {
+                       if (yych <= '/') goto yy129;
+                       if (yych >= ':') goto yy129;
+               } else {
+                       if (yych <= 'F') goto yy150;
+                       if (yych <= '`') goto yy129;
+                       if (yych >= 'g') goto yy129;
+               }
+yy150:
                ++YYCURSOR;
                {
                int utf16 = php_json_ucs2_to_int(s, 3);
@@ -1130,17 +1129,17 @@ yy149:
                s->str_start = s->cursor;
                PHP_JSON_CONDITION_GOTO(STR_P2);
        }
-yy151:
+yy152:
                yych = *++YYCURSOR;
                if (yych <= '@') {
-                       if (yych <= '/') goto yy128;
-                       if (yych >= ':') goto yy128;
+                       if (yych <= '/') goto yy129;
+                       if (yych >= ':') goto yy129;
                } else {
-                       if (yych <= 'F') goto yy152;
-                       if (yych <= '`') goto yy128;
-                       if (yych >= 'g') goto yy128;
+                       if (yych <= 'F') goto yy153;
+                       if (yych <= '`') goto yy129;
+                       if (yych >= 'g') goto yy129;
                }
-yy152:
+yy153:
                ++YYCURSOR;
                {
                int utf16 = php_json_ucs2_to_int(s, 2);
index cbbfa41e5a2ae53c74a3f759a7ab692efb0b91ef..c18d8779b680231abebf2a10e7706a4c75292886 100644 (file)
@@ -81,7 +81,7 @@ static int php_json_ucs2_to_int(php_json_scanner *s, int size)
        return php_json_ucs2_to_int_ex(s, size, 1);
 }
 
-void php_json_scanner_init(php_json_scanner *s, char *str, int str_len, long options)
+void php_json_scanner_init(php_json_scanner *s, char *str, size_t str_len, int options)
 {
        s->cursor = (php_json_ctype *) str;
        s->limit = (php_json_ctype *) str + str_len;
index 4b031a4f12dbaef4bef647b052233ce28b3366bb..f515ff55cdac48d17695062bf99ef003ff4719ba 100644 (file)
@@ -32,15 +32,15 @@ typedef struct _php_json_scanner {
        php_json_ctype *ctxmarker;      /* marker position for context backtracking */
        php_json_ctype *str_start;      /* start position of the string */
        php_json_ctype *pstr;           /* string pointer for escapes conversion */
+       zval value;                     /* value */
        int str_esc;                    /* number of extra characters for escaping */
        int state;                      /* condition state */             
-       zval value;                     /* value */
-       long options;                   /* options */
+       int options;                   /* options */
        php_json_error_code errcode;    /* error type if there is an error */
 } php_json_scanner;
 
 
-void php_json_scanner_init(php_json_scanner *scanner, char *str, int str_len, long options);
+void php_json_scanner_init(php_json_scanner *scanner, char *str, size_t str_len, int options);
 int php_json_scan(php_json_scanner *s);
 
 #endif /* PHP_JSON_SCANNER_H */
index b3867433a7c90e0b7e3bb6f677d878a6f0f6b865..e1a5824dd3c6ce4dff7891dc363a67273303d1ff 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 */
+/* Generated by re2c 0.13.6 */
 
 enum YYCONDTYPE {
        yycJS,