1 /* Generated by re2c 0.16 */
2 #line 1 "Zend/zend_ini_scanner.l"
3 /*
4 +----------------------------------------------------------------------+
5 | Zend Engine |
6 +----------------------------------------------------------------------+
7 | Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
8 +----------------------------------------------------------------------+
9 | This source file is subject to version 2.00 of the Zend license, |
10 | that is bundled with this package in the file LICENSE, and is |
11 | available through the world-wide-web at the following url: |
12 | http://www.zend.com/license/2_00.txt. |
13 | If you did not receive a copy of the Zend license and are unable to |
14 | obtain it through the world-wide-web, please send a note to |
15 | license@zend.com so we can mail you a copy immediately. |
16 +----------------------------------------------------------------------+
17 | Authors: Zeev Suraski <zeev@zend.com> |
18 | Jani Taskinen <jani@php.net> |
19 | Marcus Boerger <helly@php.net> |
20 | Nuno Lopes <nlopess@php.net> |
21 | Scott MacVicar <scottmac@php.net> |
22 +----------------------------------------------------------------------+
23 */
24
25 /* $Id$ */
26
27 #include <errno.h>
28 #include "zend.h"
29 #include "zend_API.h"
30 #include "zend_globals.h"
31 #include <zend_ini_parser.h>
32 #include "zend_ini_scanner.h"
33
34 #ifdef YYDEBUG
35 #undef YYDEBUG
36 #endif
37
38 #if 0
39 # define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
40 #else
41 # define YYDEBUG(s, c)
42 #endif
43
44 #include "zend_ini_scanner_defs.h"
45
46 #define YYCTYPE unsigned char
47 /* allow the scanner to read one null byte after the end of the string (from ZEND_MMAP_AHEAD)
48 * so that if will be able to terminate to match the current token (e.g. non-enclosed string) */
49 #define YYFILL(n) { if (YYCURSOR > YYLIMIT) return 0; }
50 #define YYCURSOR SCNG(yy_cursor)
51 #define YYLIMIT SCNG(yy_limit)
52 #define YYMARKER SCNG(yy_marker)
53
54 #define YYGETCONDITION() SCNG(yy_state)
55 #define YYSETCONDITION(s) SCNG(yy_state) = s
56
57 #define STATE(name) yyc##name
58
59 /* emulate flex constructs */
60 #define BEGIN(state) YYSETCONDITION(STATE(state))
61 #define YYSTATE YYGETCONDITION()
62 #define yytext ((char*)SCNG(yy_text))
63 #define yyleng SCNG(yy_leng)
64 #define yyless(x) do { YYCURSOR = (unsigned char*)yytext + x; \
65 yyleng = (unsigned int)x; } while(0)
66
67 /* #define yymore() goto yymore_restart */
68
69 /* perform sanity check. If this message is triggered you should
70 increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
71 #define YYMAXFILL 6
72 #if ZEND_MMAP_AHEAD < (YYMAXFILL + 1)
73 # error ZEND_MMAP_AHEAD should be greater than YYMAXFILL
74 #endif
75
76
77 /* How it works (for the core ini directives):
78 * ===========================================
79 *
80 * 1. Scanner scans file for tokens and passes them to parser.
81 * 2. Parser parses the tokens and passes the name/value pairs to the callback
82 * function which stores them in the configuration hash table.
83 * 3. Later REGISTER_INI_ENTRIES() is called which triggers the actual
84 * registering of ini entries and uses zend_get_configuration_directive()
85 * to fetch the previously stored name/value pair from configuration hash table
86 * and registers the static ini entries which match the name to the value
87 * into EG(ini_directives) hash table.
88 * 4. PATH section entries are used per-request from down to top, each overriding
89 * previous if one exists. zend_alter_ini_entry() is called for each entry.
90 * Settings in PATH section are ZEND_INI_SYSTEM accessible and thus mimics the
91 * php_admin_* directives used within Apache httpd.conf when PHP is compiled as
92 * module for Apache.
93 * 5. User defined ini files (like .htaccess for apache) are parsed for each request and
94 * stored in separate hash defined by SAPI.
95 */
96
97 /* TODO: (ordered by importance :-)
98 * ===============================================================================
99 *
100 * - Separate constant lookup totally from plain strings (using CONSTANT pattern)
101 * - Add #if .. #else .. #endif and ==, !=, <, > , <=, >= operators
102 * - Add #include "some.ini"
103 * - Allow variables to refer to options also when using parse_ini_file()
104 *
105 */
106
107 /* Globals Macros */
108 #define SCNG INI_SCNG
109 #ifdef ZTS
110 ZEND_API ts_rsrc_id ini_scanner_globals_id;
111 #else
112 ZEND_API zend_ini_scanner_globals ini_scanner_globals;
113 #endif
114
115 #define ZEND_SYSTEM_INI CG(ini_parser_unbuffered_errors)
116
117 /* Eat leading whitespace */
118 #define EAT_LEADING_WHITESPACE() \
119 while (yyleng) { \
120 if (yytext[0] == ' ' || yytext[0] == '\t') { \
121 SCNG(yy_text)++; \
122 yyleng--; \
123 } else { \
124 break; \
125 } \
126 }
127
128 /* Eat trailing whitespace + extra char */
129 #define EAT_TRAILING_WHITESPACE_EX(ch) \
130 while (yyleng && ( \
131 (ch != 'X' && yytext[yyleng - 1] == ch) || \
132 yytext[yyleng - 1] == '\n' || \
133 yytext[yyleng - 1] == '\r' || \
134 yytext[yyleng - 1] == '\t' || \
135 yytext[yyleng - 1] == ' ') \
136 ) { \
137 yyleng--; \
138 }
139
140 /* Eat trailing whitespace */
141 #define EAT_TRAILING_WHITESPACE() EAT_TRAILING_WHITESPACE_EX('X')
142
143 #define zend_ini_copy_value(retval, str, len) \
144 ZVAL_NEW_STR(retval, zend_string_init(str, len, ZEND_SYSTEM_INI))
145
146
147 #define RETURN_TOKEN(type, str, len) { \
148 if (SCNG(scanner_mode) == ZEND_INI_SCANNER_TYPED && \
149 (YYSTATE == STATE(ST_VALUE) || YYSTATE == STATE(ST_RAW))) {\
150 zend_ini_copy_typed_value(ini_lval, type, str, len); \
151 } else { \
152 zend_ini_copy_value(ini_lval, str, len); \
153 } \
154 return type; \
155 }
156
convert_to_number(zval * retval,const char * str,const int str_len)157 static inline int convert_to_number(zval *retval, const char *str, const int str_len)
158 {
159 zend_uchar type;
160 int overflow;
161 zend_long lval;
162 double dval;
163
164 if ((type = is_numeric_string_ex(str, str_len, &lval, &dval, 0, &overflow)) != 0) {
165 if (type == IS_LONG) {
166 ZVAL_LONG(retval, lval);
167 return SUCCESS;
168 } else if (type == IS_DOUBLE && !overflow) {
169 ZVAL_DOUBLE(retval, dval);
170 return SUCCESS;
171 }
172 }
173
174 return FAILURE;
175 }
176
zend_ini_copy_typed_value(zval * retval,const int type,const char * str,int len)177 static void zend_ini_copy_typed_value(zval *retval, const int type, const char *str, int len)
178 {
179 switch (type) {
180 case BOOL_FALSE:
181 case BOOL_TRUE:
182 ZVAL_BOOL(retval, type == BOOL_TRUE);
183 break;
184
185 case NULL_NULL:
186 ZVAL_NULL(retval);
187 break;
188
189 case TC_NUMBER:
190 if (convert_to_number(retval, str, len) == SUCCESS) {
191 break;
192 }
193 /* intentional fall-through */
194 default:
195 zend_ini_copy_value(retval, str, len);
196 }
197 }
198
_yy_push_state(int new_state)199 static void _yy_push_state(int new_state)
200 {
201 zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
202 YYSETCONDITION(new_state);
203 }
204
205 #define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
206
yy_pop_state(void)207 static void yy_pop_state(void)
208 {
209 int *stack_state = zend_stack_top(&SCNG(state_stack));
210 YYSETCONDITION(*stack_state);
211 zend_stack_del_top(&SCNG(state_stack));
212 }
213
yy_scan_buffer(char * str,unsigned int len)214 static void yy_scan_buffer(char *str, unsigned int len)
215 {
216 YYCURSOR = (YYCTYPE*)str;
217 SCNG(yy_start) = YYCURSOR;
218 YYLIMIT = YYCURSOR + len;
219 }
220
221 #define ini_filename SCNG(filename)
222
223 /* {{{ init_ini_scanner()
224 */
init_ini_scanner(int scanner_mode,zend_file_handle * fh)225 static int init_ini_scanner(int scanner_mode, zend_file_handle *fh)
226 {
227 /* Sanity check */
228 if (scanner_mode != ZEND_INI_SCANNER_NORMAL && scanner_mode != ZEND_INI_SCANNER_RAW && scanner_mode != ZEND_INI_SCANNER_TYPED) {
229 zend_error(E_WARNING, "Invalid scanner mode");
230 return FAILURE;
231 }
232
233 SCNG(lineno) = 1;
234 SCNG(scanner_mode) = scanner_mode;
235 SCNG(yy_in) = fh;
236
237 if (fh != NULL) {
238 ini_filename = zend_strndup(fh->filename, strlen(fh->filename));
239 } else {
240 ini_filename = NULL;
241 }
242
243 zend_stack_init(&SCNG(state_stack), sizeof(int));
244 BEGIN(INITIAL);
245
246 return SUCCESS;
247 }
248 /* }}} */
249
250 /* {{{ shutdown_ini_scanner()
251 */
shutdown_ini_scanner(void)252 void shutdown_ini_scanner(void)
253 {
254 zend_stack_destroy(&SCNG(state_stack));
255 if (ini_filename) {
256 free(ini_filename);
257 }
258 }
259 /* }}} */
260
261 /* {{{ zend_ini_scanner_get_lineno()
262 */
zend_ini_scanner_get_lineno(void)263 ZEND_COLD int zend_ini_scanner_get_lineno(void)
264 {
265 return SCNG(lineno);
266 }
267 /* }}} */
268
269 /* {{{ zend_ini_scanner_get_filename()
270 */
zend_ini_scanner_get_filename(void)271 ZEND_COLD char *zend_ini_scanner_get_filename(void)
272 {
273 return ini_filename ? ini_filename : "Unknown";
274 }
275 /* }}} */
276
277 /* {{{ zend_ini_open_file_for_scanning()
278 */
zend_ini_open_file_for_scanning(zend_file_handle * fh,int scanner_mode)279 int zend_ini_open_file_for_scanning(zend_file_handle *fh, int scanner_mode)
280 {
281 char *buf;
282 size_t size;
283
284 if (zend_stream_fixup(fh, &buf, &size) == FAILURE) {
285 return FAILURE;
286 }
287
288 if (init_ini_scanner(scanner_mode, fh) == FAILURE) {
289 zend_file_handle_dtor(fh);
290 return FAILURE;
291 }
292
293 yy_scan_buffer(buf, (unsigned int)size);
294
295 return SUCCESS;
296 }
297 /* }}} */
298
299 /* {{{ zend_ini_prepare_string_for_scanning()
300 */
zend_ini_prepare_string_for_scanning(char * str,int scanner_mode)301 int zend_ini_prepare_string_for_scanning(char *str, int scanner_mode)
302 {
303 int len = (int)strlen(str);
304
305 if (init_ini_scanner(scanner_mode, NULL) == FAILURE) {
306 return FAILURE;
307 }
308
309 yy_scan_buffer(str, len);
310
311 return SUCCESS;
312 }
313 /* }}} */
314
315 /* {{{ zend_ini_escape_string()
316 */
zend_ini_escape_string(zval * lval,char * str,int len,char quote_type)317 static void zend_ini_escape_string(zval *lval, char *str, int len, char quote_type)
318 {
319 register char *s, *t;
320 char *end;
321
322 zend_ini_copy_value(lval, str, len);
323
324 /* convert escape sequences */
325 s = t = Z_STRVAL_P(lval);
326 end = s + Z_STRLEN_P(lval);
327
328 while (s < end) {
329 if (*s == '\\') {
330 s++;
331 if (s >= end) {
332 *t++ = '\\';
333 continue;
334 }
335 switch (*s) {
336 case '"':
337 if (*s != quote_type) {
338 *t++ = '\\';
339 *t++ = *s;
340 break;
341 }
342 case '\\':
343 case '$':
344 *t++ = *s;
345 Z_STRLEN_P(lval)--;
346 break;
347 default:
348 *t++ = '\\';
349 *t++ = *s;
350 break;
351 }
352 } else {
353 *t++ = *s;
354 }
355 if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
356 SCNG(lineno)++;
357 }
358 s++;
359 }
360 *t = 0;
361 }
362 /* }}} */
363
ini_lex(zval * ini_lval)364 int ini_lex(zval *ini_lval)
365 {
366 restart:
367 SCNG(yy_text) = YYCURSOR;
368
369 /* yymore_restart: */
370 /* detect EOF */
371 if (YYCURSOR >= YYLIMIT) {
372 if (YYSTATE == STATE(ST_VALUE) || YYSTATE == STATE(ST_RAW)) {
373 BEGIN(INITIAL);
374 return END_OF_LINE;
375 }
376 return 0;
377 }
378
379 /* Eat any UTF-8 BOM we find in the first 3 bytes */
380 if (YYCURSOR == SCNG(yy_start) && YYCURSOR + 3 < YYLIMIT) {
381 if (memcmp(YYCURSOR, "\xef\xbb\xbf", 3) == 0) {
382 YYCURSOR += 3;
383 goto restart;
384 }
385 }
386
387 #line 388 "Zend/zend_ini_scanner.c"
388 {
389 YYCTYPE yych;
390 unsigned int yyaccept = 0;
391 if (YYGETCONDITION() < 4) {
392 if (YYGETCONDITION() < 2) {
393 if (YYGETCONDITION() < 1) {
394 goto yyc_INITIAL;
395 } else {
396 goto yyc_ST_OFFSET;
397 }
398 } else {
399 if (YYGETCONDITION() < 3) {
400 goto yyc_ST_SECTION_VALUE;
401 } else {
402 goto yyc_ST_VALUE;
403 }
404 }
405 } else {
406 if (YYGETCONDITION() < 6) {
407 if (YYGETCONDITION() < 5) {
408 goto yyc_ST_SECTION_RAW;
409 } else {
410 goto yyc_ST_DOUBLE_QUOTES;
411 }
412 } else {
413 if (YYGETCONDITION() < 7) {
414 goto yyc_ST_VARNAME;
415 } else {
416 goto yyc_ST_RAW;
417 }
418 }
419 }
420 /* *********************************** */
421 yyc_INITIAL:
422 {
423 static const unsigned char yybm[] = {
424 144, 144, 144, 144, 144, 144, 144, 144,
425 144, 160, 0, 144, 144, 0, 144, 144,
426 144, 144, 144, 144, 144, 144, 144, 144,
427 144, 144, 144, 144, 144, 144, 144, 144,
428 240, 128, 128, 144, 128, 144, 128, 144,
429 128, 128, 144, 144, 144, 144, 144, 144,
430 144, 144, 144, 144, 144, 144, 144, 144,
431 144, 144, 144, 128, 144, 128, 144, 144,
432 144, 144, 144, 144, 144, 144, 144, 144,
433 144, 144, 144, 144, 144, 144, 144, 144,
434 144, 144, 144, 144, 144, 144, 144, 144,
435 144, 144, 144, 128, 144, 144, 128, 144,
436 144, 144, 144, 144, 144, 144, 144, 144,
437 144, 144, 144, 144, 144, 144, 144, 144,
438 144, 144, 144, 144, 144, 144, 144, 144,
439 144, 144, 144, 128, 128, 128, 128, 144,
440 144, 144, 144, 144, 144, 144, 144, 144,
441 144, 144, 144, 144, 144, 144, 144, 144,
442 144, 144, 144, 144, 144, 144, 144, 144,
443 144, 144, 144, 144, 144, 144, 144, 144,
444 144, 144, 144, 144, 144, 144, 144, 144,
445 144, 144, 144, 144, 144, 144, 144, 144,
446 144, 144, 144, 144, 144, 144, 144, 144,
447 144, 144, 144, 144, 144, 144, 144, 144,
448 144, 144, 144, 144, 144, 144, 144, 144,
449 144, 144, 144, 144, 144, 144, 144, 144,
450 144, 144, 144, 144, 144, 144, 144, 144,
451 144, 144, 144, 144, 144, 144, 144, 144,
452 144, 144, 144, 144, 144, 144, 144, 144,
453 144, 144, 144, 144, 144, 144, 144, 144,
454 144, 144, 144, 144, 144, 144, 144, 144,
455 144, 144, 144, 144, 144, 144, 144, 144,
456 };
457 YYDEBUG(1, *YYCURSOR);
458 YYFILL(5);
459 yych = *YYCURSOR;
460 if (yybm[0+yych] & 64) {
461 goto yy12;
462 }
463 switch (yych) {
464 case '\t': goto yy6;
465 case '\n': goto yy9;
466 case '\r': goto yy11;
467 case ' ':
468 case '!':
469 case '"':
470 case '$':
471 case '&':
472 case '(':
473 case ')':
474 case '^':
475 case '{':
476 case '|':
477 case '}':
478 case '~': goto yy14;
479 case ';': goto yy16;
480 case '=': goto yy18;
481 case 'F':
482 case 'f': goto yy21;
483 case 'N':
484 case 'n': goto yy22;
485 case 'O':
486 case 'o': goto yy23;
487 case 'T':
488 case 't': goto yy24;
489 case 'Y':
490 case 'y': goto yy25;
491 case '[': goto yy26;
492 default: goto yy3;
493 }
494 yy3:
495 YYDEBUG(3, *YYCURSOR);
496 ++YYCURSOR;
497 YYFILL(1);
498 yych = *YYCURSOR;
499 yy4:
500 YYDEBUG(4, *YYCURSOR);
501 if (yybm[0+yych] & 16) {
502 goto yy3;
503 }
504 if (yych <= '=') goto yy5;
505 if (yych <= '[') goto yy28;
506 yy5:
507 YYDEBUG(5, *YYCURSOR);
508 yyleng = YYCURSOR - SCNG(yy_text);
509 #line 484 "Zend/zend_ini_scanner.l"
510 { /* Get option name */
511 /* Eat leading whitespace */
512 EAT_LEADING_WHITESPACE();
513
514 /* Eat trailing whitespace */
515 EAT_TRAILING_WHITESPACE();
516
517 RETURN_TOKEN(TC_LABEL, yytext, yyleng);
518 }
519 #line 520 "Zend/zend_ini_scanner.c"
520 yy6:
521 YYDEBUG(6, *YYCURSOR);
522 ++YYCURSOR;
523 YYFILL(2);
524 yych = *YYCURSOR;
525 YYDEBUG(7, *YYCURSOR);
526 if (yybm[0+yych] & 32) {
527 goto yy6;
528 }
529 if (yych <= '\r') {
530 if (yych <= 0x08) goto yy8;
531 if (yych <= '\n') goto yy9;
532 if (yych >= '\r') goto yy11;
533 } else {
534 if (yych <= ';') {
535 if (yych >= ';') goto yy31;
536 } else {
537 if (yych == '=') goto yy18;
538 }
539 }
540 yy8:
541 YYDEBUG(8, *YYCURSOR);
542 yyleng = YYCURSOR - SCNG(yy_text);
543 #line 637 "Zend/zend_ini_scanner.l"
544 {
545 /* eat whitespace */
546 goto restart;
547 }
548 #line 549 "Zend/zend_ini_scanner.c"
549 yy9:
550 YYDEBUG(9, *YYCURSOR);
551 ++YYCURSOR;
552 yy10:
553 YYDEBUG(10, *YYCURSOR);
554 yyleng = YYCURSOR - SCNG(yy_text);
555 #line 642 "Zend/zend_ini_scanner.l"
556 {
557 SCNG(lineno)++;
558 return END_OF_LINE;
559 }
560 #line 561 "Zend/zend_ini_scanner.c"
561 yy11:
562 YYDEBUG(11, *YYCURSOR);
563 yych = *++YYCURSOR;
564 if (yych == '\n') goto yy9;
565 goto yy10;
566 yy12:
567 YYDEBUG(12, *YYCURSOR);
568 ++YYCURSOR;
569 YYFILL(2);
570 yych = *YYCURSOR;
571 YYDEBUG(13, *YYCURSOR);
572 if (yybm[0+yych] & 64) {
573 goto yy12;
574 }
575 if (yych <= '\'') {
576 if (yych <= 0x1F) {
577 if (yych <= '\n') {
578 if (yych <= 0x08) goto yy3;
579 if (yych <= '\t') goto yy6;
580 goto yy9;
581 } else {
582 if (yych == '\r') goto yy11;
583 goto yy3;
584 }
585 } else {
586 if (yych <= '$') {
587 if (yych == '#') goto yy3;
588 goto yy5;
589 } else {
590 if (yych == '&') goto yy5;
591 goto yy3;
592 }
593 }
594 } else {
595 if (yych <= 'Z') {
596 if (yych <= ';') {
597 if (yych <= ')') goto yy5;
598 if (yych <= ':') goto yy3;
599 goto yy31;
600 } else {
601 if (yych == '=') goto yy18;
602 goto yy3;
603 }
604 } else {
605 if (yych <= '^') {
606 if (yych <= '[') goto yy28;
607 if (yych <= ']') goto yy3;
608 goto yy5;
609 } else {
610 if (yych <= 'z') goto yy3;
611 if (yych <= '~') goto yy5;
612 goto yy3;
613 }
614 }
615 }
616 yy14:
617 YYDEBUG(14, *YYCURSOR);
618 ++YYCURSOR;
619 YYDEBUG(15, *YYCURSOR);
620 yyleng = YYCURSOR - SCNG(yy_text);
621 #line 565 "Zend/zend_ini_scanner.l"
622 { /* Disallow these chars outside option values */
623 return yytext[0];
624 }
625 #line 626 "Zend/zend_ini_scanner.c"
626 yy16:
627 YYDEBUG(16, *YYCURSOR);
628 ++YYCURSOR;
629 yych = *YYCURSOR;
630 goto yy32;
631 YYDEBUG(17, *YYCURSOR);
632 yyleng = YYCURSOR - SCNG(yy_text);
633 #line 658 "Zend/zend_ini_scanner.l"
634 {
635 return 0;
636 }
637 #line 638 "Zend/zend_ini_scanner.c"
638 yy18:
639 YYDEBUG(18, *YYCURSOR);
640 ++YYCURSOR;
641 YYFILL(1);
642 yych = *YYCURSOR;
643 YYDEBUG(19, *YYCURSOR);
644 if (yych == '\t') goto yy18;
645 if (yych == ' ') goto yy18;
646 YYDEBUG(20, *YYCURSOR);
647 yyleng = YYCURSOR - SCNG(yy_text);
648 #line 494 "Zend/zend_ini_scanner.l"
649 { /* Start option value */
650 if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) {
651 BEGIN(ST_RAW);
652 } else {
653 BEGIN(ST_VALUE);
654 }
655 return '=';
656 }
657 #line 658 "Zend/zend_ini_scanner.c"
658 yy21:
659 YYDEBUG(21, *YYCURSOR);
660 yych = *++YYCURSOR;
661 if (yych == 'A') goto yy36;
662 if (yych == 'a') goto yy36;
663 goto yy4;
664 yy22:
665 YYDEBUG(22, *YYCURSOR);
666 yych = *++YYCURSOR;
667 if (yych <= 'U') {
668 if (yych == 'O') goto yy37;
669 if (yych <= 'T') goto yy4;
670 goto yy39;
671 } else {
672 if (yych <= 'o') {
673 if (yych <= 'n') goto yy4;
674 goto yy37;
675 } else {
676 if (yych == 'u') goto yy39;
677 goto yy4;
678 }
679 }
680 yy23:
681 YYDEBUG(23, *YYCURSOR);
682 yych = *++YYCURSOR;
683 if (yych <= 'N') {
684 if (yych == 'F') goto yy40;
685 if (yych <= 'M') goto yy4;
686 goto yy41;
687 } else {
688 if (yych <= 'f') {
689 if (yych <= 'e') goto yy4;
690 goto yy40;
691 } else {
692 if (yych == 'n') goto yy41;
693 goto yy4;
694 }
695 }
696 yy24:
697 YYDEBUG(24, *YYCURSOR);
698 yych = *++YYCURSOR;
699 if (yych == 'R') goto yy44;
700 if (yych == 'r') goto yy44;
701 goto yy4;
702 yy25:
703 YYDEBUG(25, *YYCURSOR);
704 yych = *++YYCURSOR;
705 if (yych == 'E') goto yy45;
706 if (yych == 'e') goto yy45;
707 goto yy4;
708 yy26:
709 YYDEBUG(26, *YYCURSOR);
710 ++YYCURSOR;
711 YYDEBUG(27, *YYCURSOR);
712 yyleng = YYCURSOR - SCNG(yy_text);
713 #line 409 "Zend/zend_ini_scanner.l"
714 { /* Section start */
715 /* Enter section data lookup state */
716 if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) {
717 BEGIN(ST_SECTION_RAW);
718 } else {
719 BEGIN(ST_SECTION_VALUE);
720 }
721 return TC_SECTION;
722 }
723 #line 724 "Zend/zend_ini_scanner.c"
724 yy28:
725 YYDEBUG(28, *YYCURSOR);
726 ++YYCURSOR;
727 YYFILL(1);
728 yych = *YYCURSOR;
729 YYDEBUG(29, *YYCURSOR);
730 if (yych == '\t') goto yy28;
731 if (yych == ' ') goto yy28;
732 YYDEBUG(30, *YYCURSOR);
733 yyleng = YYCURSOR - SCNG(yy_text);
734 #line 434 "Zend/zend_ini_scanner.l"
735 { /* Start of option with offset */
736 /* Eat leading whitespace */
737 EAT_LEADING_WHITESPACE();
738
739 /* Eat trailing whitespace and [ */
740 EAT_TRAILING_WHITESPACE_EX('[');
741
742 /* Enter offset lookup state */
743 BEGIN(ST_OFFSET);
744
745 RETURN_TOKEN(TC_OFFSET, yytext, yyleng);
746 }
747 #line 748 "Zend/zend_ini_scanner.c"
748 yy31:
749 YYDEBUG(31, *YYCURSOR);
750 ++YYCURSOR;
751 YYFILL(2);
752 yych = *YYCURSOR;
753 yy32:
754 YYDEBUG(32, *YYCURSOR);
755 if (yybm[0+yych] & 128) {
756 goto yy31;
757 }
758 if (yych >= '\v') goto yy35;
759 yy33:
760 YYDEBUG(33, *YYCURSOR);
761 ++YYCURSOR;
762 yy34:
763 YYDEBUG(34, *YYCURSOR);
764 yyleng = YYCURSOR - SCNG(yy_text);
765 #line 647 "Zend/zend_ini_scanner.l"
766 { /* Comment */
767 BEGIN(INITIAL);
768 SCNG(lineno)++;
769 return END_OF_LINE;
770 }
771 #line 772 "Zend/zend_ini_scanner.c"
772 yy35:
773 YYDEBUG(35, *YYCURSOR);
774 yych = *++YYCURSOR;
775 if (yych == '\n') goto yy33;
776 goto yy34;
777 yy36:
778 YYDEBUG(36, *YYCURSOR);
779 yych = *++YYCURSOR;
780 if (yych == 'L') goto yy46;
781 if (yych == 'l') goto yy46;
782 goto yy4;
783 yy37:
784 YYDEBUG(37, *YYCURSOR);
785 ++YYCURSOR;
786 if ((yych = *YYCURSOR) <= '\'') {
787 if (yych <= 0x1F) {
788 if (yych <= '\n') {
789 if (yych <= 0x08) goto yy4;
790 if (yych <= '\t') goto yy47;
791 } else {
792 if (yych != '\r') goto yy4;
793 }
794 } else {
795 if (yych <= '#') {
796 if (yych <= ' ') goto yy49;
797 if (yych >= '#') goto yy4;
798 } else {
799 if (yych == '%') goto yy4;
800 if (yych >= '\'') goto yy4;
801 }
802 }
803 } else {
804 if (yych <= 'N') {
805 if (yych <= ';') {
806 if (yych <= ')') goto yy38;
807 if (yych <= ':') goto yy4;
808 } else {
809 if (yych == '=') goto yy38;
810 if (yych <= 'M') goto yy4;
811 goto yy51;
812 }
813 } else {
814 if (yych <= 'm') {
815 if (yych != '^') goto yy4;
816 } else {
817 if (yych <= 'n') goto yy51;
818 if (yych <= 'z') goto yy4;
819 if (yych >= 0x7F) goto yy4;
820 }
821 }
822 }
823 yy38:
824 YYDEBUG(38, *YYCURSOR);
825 yyleng = YYCURSOR - SCNG(yy_text);
826 #line 476 "Zend/zend_ini_scanner.l"
827 { /* FALSE value (when used outside option value/offset this causes parse error!)*/
828 RETURN_TOKEN(BOOL_FALSE, "", 0);
829 }
830 #line 831 "Zend/zend_ini_scanner.c"
831 yy39:
832 YYDEBUG(39, *YYCURSOR);
833 yych = *++YYCURSOR;
834 if (yych == 'L') goto yy52;
835 if (yych == 'l') goto yy52;
836 goto yy4;
837 yy40:
838 YYDEBUG(40, *YYCURSOR);
839 yych = *++YYCURSOR;
840 if (yych == 'F') goto yy49;
841 if (yych == 'f') goto yy49;
842 goto yy4;
843 yy41:
844 YYDEBUG(41, *YYCURSOR);
845 ++YYCURSOR;
846 YYFILL(1);
847 yych = *YYCURSOR;
848 YYDEBUG(42, *YYCURSOR);
849 if (yych <= '&') {
850 if (yych <= 0x1F) {
851 if (yych <= '\n') {
852 if (yych <= 0x08) goto yy3;
853 if (yych <= '\t') goto yy53;
854 } else {
855 if (yych != '\r') goto yy3;
856 }
857 } else {
858 if (yych <= '#') {
859 if (yych <= ' ') goto yy41;
860 if (yych >= '#') goto yy3;
861 } else {
862 if (yych == '%') goto yy3;
863 }
864 }
865 } else {
866 if (yych <= '=') {
867 if (yych <= ':') {
868 if (yych <= '\'') goto yy3;
869 if (yych >= '*') goto yy3;
870 } else {
871 if (yych == '<') goto yy3;
872 }
873 } else {
874 if (yych <= ']') {
875 if (yych == '[') goto yy28;
876 goto yy3;
877 } else {
878 if (yych <= '^') goto yy43;
879 if (yych <= 'z') goto yy3;
880 if (yych >= 0x7F) goto yy3;
881 }
882 }
883 }
884 yy43:
885 YYDEBUG(43, *YYCURSOR);
886 yyleng = YYCURSOR - SCNG(yy_text);
887 #line 472 "Zend/zend_ini_scanner.l"
888 { /* TRUE value (when used outside option value/offset this causes parse error!) */
889 RETURN_TOKEN(BOOL_TRUE, "1", 1);
890 }
891 #line 892 "Zend/zend_ini_scanner.c"
892 yy44:
893 YYDEBUG(44, *YYCURSOR);
894 yych = *++YYCURSOR;
895 if (yych == 'U') goto yy55;
896 if (yych == 'u') goto yy55;
897 goto yy4;
898 yy45:
899 YYDEBUG(45, *YYCURSOR);
900 yych = *++YYCURSOR;
901 if (yych == 'S') goto yy41;
902 if (yych == 's') goto yy41;
903 goto yy4;
904 yy46:
905 YYDEBUG(46, *YYCURSOR);
906 yych = *++YYCURSOR;
907 if (yych == 'S') goto yy51;
908 if (yych == 's') goto yy51;
909 goto yy4;
910 yy47:
911 YYDEBUG(47, *YYCURSOR);
912 ++YYCURSOR;
913 YYFILL(1);
914 yych = *YYCURSOR;
915 YYDEBUG(48, *YYCURSOR);
916 if (yych == '\t') goto yy47;
917 if (yych == ' ') goto yy47;
918 goto yy38;
919 yy49:
920 YYDEBUG(49, *YYCURSOR);
921 ++YYCURSOR;
922 YYFILL(1);
923 yych = *YYCURSOR;
924 YYDEBUG(50, *YYCURSOR);
925 if (yych <= '&') {
926 if (yych <= 0x1F) {
927 if (yych <= '\n') {
928 if (yych <= 0x08) goto yy3;
929 if (yych <= '\t') goto yy47;
930 goto yy38;
931 } else {
932 if (yych == '\r') goto yy38;
933 goto yy3;
934 }
935 } else {
936 if (yych <= '#') {
937 if (yych <= ' ') goto yy49;
938 if (yych <= '"') goto yy38;
939 goto yy3;
940 } else {
941 if (yych == '%') goto yy3;
942 goto yy38;
943 }
944 }
945 } else {
946 if (yych <= '=') {
947 if (yych <= ':') {
948 if (yych <= '\'') goto yy3;
949 if (yych <= ')') goto yy38;
950 goto yy3;
951 } else {
952 if (yych == '<') goto yy3;
953 goto yy38;
954 }
955 } else {
956 if (yych <= ']') {
957 if (yych == '[') goto yy28;
958 goto yy3;
959 } else {
960 if (yych <= '^') goto yy38;
961 if (yych <= 'z') goto yy3;
962 if (yych <= '~') goto yy38;
963 goto yy3;
964 }
965 }
966 }
967 yy51:
968 YYDEBUG(51, *YYCURSOR);
969 yych = *++YYCURSOR;
970 if (yych == 'E') goto yy49;
971 if (yych == 'e') goto yy49;
972 goto yy4;
973 yy52:
974 YYDEBUG(52, *YYCURSOR);
975 yych = *++YYCURSOR;
976 if (yych == 'L') goto yy56;
977 if (yych == 'l') goto yy56;
978 goto yy4;
979 yy53:
980 YYDEBUG(53, *YYCURSOR);
981 ++YYCURSOR;
982 YYFILL(1);
983 yych = *YYCURSOR;
984 YYDEBUG(54, *YYCURSOR);
985 if (yych == '\t') goto yy53;
986 if (yych == ' ') goto yy53;
987 goto yy43;
988 yy55:
989 YYDEBUG(55, *YYCURSOR);
990 yych = *++YYCURSOR;
991 if (yych == 'E') goto yy41;
992 if (yych == 'e') goto yy41;
993 goto yy4;
994 yy56:
995 YYDEBUG(56, *YYCURSOR);
996 ++YYCURSOR;
997 YYFILL(1);
998 yych = *YYCURSOR;
999 YYDEBUG(57, *YYCURSOR);
1000 if (yych <= '&') {
1001 if (yych <= 0x1F) {
1002 if (yych <= '\n') {
1003 if (yych <= 0x08) goto yy3;
1004 if (yych <= '\t') goto yy59;
1005 } else {
1006 if (yych != '\r') goto yy3;
1007 }
1008 } else {
1009 if (yych <= '#') {
1010 if (yych <= ' ') goto yy56;
1011 if (yych >= '#') goto yy3;
1012 } else {
1013 if (yych == '%') goto yy3;
1014 }
1015 }
1016 } else {
1017 if (yych <= '=') {
1018 if (yych <= ':') {
1019 if (yych <= '\'') goto yy3;
1020 if (yych >= '*') goto yy3;
1021 } else {
1022 if (yych == '<') goto yy3;
1023 }
1024 } else {
1025 if (yych <= ']') {
1026 if (yych == '[') goto yy28;
1027 goto yy3;
1028 } else {
1029 if (yych <= '^') goto yy58;
1030 if (yych <= 'z') goto yy3;
1031 if (yych >= 0x7F) goto yy3;
1032 }
1033 }
1034 }
1035 yy58:
1036 YYDEBUG(58, *YYCURSOR);
1037 yyleng = YYCURSOR - SCNG(yy_text);
1038 #line 480 "Zend/zend_ini_scanner.l"
1039 {
1040 RETURN_TOKEN(NULL_NULL, "", 0);
1041 }
1042 #line 1043 "Zend/zend_ini_scanner.c"
1043 yy59:
1044 YYDEBUG(59, *YYCURSOR);
1045 ++YYCURSOR;
1046 YYFILL(1);
1047 yych = *YYCURSOR;
1048 YYDEBUG(60, *YYCURSOR);
1049 if (yych == '\t') goto yy59;
1050 if (yych == ' ') goto yy59;
1051 goto yy58;
1052 }
1053 /* *********************************** */
1054 yyc_ST_DOUBLE_QUOTES:
1055 {
1056 static const unsigned char yybm[] = {
1057 0, 0, 0, 0, 0, 0, 0, 0,
1058 0, 128, 0, 0, 0, 0, 0, 0,
1059 0, 0, 0, 0, 0, 0, 0, 0,
1060 0, 0, 0, 0, 0, 0, 0, 0,
1061 128, 0, 0, 0, 0, 0, 0, 0,
1062 0, 0, 0, 0, 0, 0, 0, 0,
1063 0, 0, 0, 0, 0, 0, 0, 0,
1064 0, 0, 0, 0, 0, 0, 0, 0,
1065 0, 0, 0, 0, 0, 0, 0, 0,
1066 0, 0, 0, 0, 0, 0, 0, 0,
1067 0, 0, 0, 0, 0, 0, 0, 0,
1068 0, 0, 0, 0, 0, 0, 0, 0,
1069 0, 0, 0, 0, 0, 0, 0, 0,
1070 0, 0, 0, 0, 0, 0, 0, 0,
1071 0, 0, 0, 0, 0, 0, 0, 0,
1072 0, 0, 0, 0, 0, 0, 0, 0,
1073 0, 0, 0, 0, 0, 0, 0, 0,
1074 0, 0, 0, 0, 0, 0, 0, 0,
1075 0, 0, 0, 0, 0, 0, 0, 0,
1076 0, 0, 0, 0, 0, 0, 0, 0,
1077 0, 0, 0, 0, 0, 0, 0, 0,
1078 0, 0, 0, 0, 0, 0, 0, 0,
1079 0, 0, 0, 0, 0, 0, 0, 0,
1080 0, 0, 0, 0, 0, 0, 0, 0,
1081 0, 0, 0, 0, 0, 0, 0, 0,
1082 0, 0, 0, 0, 0, 0, 0, 0,
1083 0, 0, 0, 0, 0, 0, 0, 0,
1084 0, 0, 0, 0, 0, 0, 0, 0,
1085 0, 0, 0, 0, 0, 0, 0, 0,
1086 0, 0, 0, 0, 0, 0, 0, 0,
1087 0, 0, 0, 0, 0, 0, 0, 0,
1088 0, 0, 0, 0, 0, 0, 0, 0,
1089 };
1090 YYDEBUG(61, *YYCURSOR);
1091 YYFILL(2);
1092 yych = *YYCURSOR;
1093 if (yych == '"') goto yy65;
1094 if (yych == '$') goto yy68;
1095 YYDEBUG(63, *YYCURSOR);
1096 ++YYCURSOR;
1097 yy64:
1098 YYDEBUG(64, *YYCURSOR);
1099 yyleng = YYCURSOR - SCNG(yy_text);
1100 #line 597 "Zend/zend_ini_scanner.l"
1101 { /* Escape double quoted string contents */
1102 if (YYCURSOR > YYLIMIT) {
1103 return 0;
1104 }
1105
1106 while (YYCURSOR < YYLIMIT) {
1107 switch (*YYCURSOR++) {
1108 case '"':
1109 if (YYCURSOR < YYLIMIT && YYCURSOR[-2] == '\\' && *YYCURSOR != '\r' && *YYCURSOR != '\n') {
1110 continue;
1111 }
1112 break;
1113 case '$':
1114 if (*YYCURSOR == '{') {
1115 break;
1116 }
1117 continue;
1118 case '\\':
1119 if (YYCURSOR < YYLIMIT && *YYCURSOR != '"') {
1120 YYCURSOR++;
1121 }
1122 /* fall through */
1123 default:
1124 continue;
1125 }
1126
1127 YYCURSOR--;
1128 break;
1129 }
1130
1131 yyleng = YYCURSOR - SCNG(yy_text);
1132
1133 zend_ini_escape_string(ini_lval, yytext, yyleng, '"');
1134 return TC_QUOTED_STRING;
1135 }
1136 #line 1137 "Zend/zend_ini_scanner.c"
1137 yy65:
1138 YYDEBUG(65, *YYCURSOR);
1139 ++YYCURSOR;
1140 YYFILL(1);
1141 yych = *YYCURSOR;
1142 YYDEBUG(66, *YYCURSOR);
1143 if (yybm[0+yych] & 128) {
1144 goto yy65;
1145 }
1146 YYDEBUG(67, *YYCURSOR);
1147 yyleng = YYCURSOR - SCNG(yy_text);
1148 #line 592 "Zend/zend_ini_scanner.l"
1149 { /* Double quoted '"' string ends */
1150 yy_pop_state();
1151 return '"';
1152 }
1153 #line 1154 "Zend/zend_ini_scanner.c"
1154 yy68:
1155 YYDEBUG(68, *YYCURSOR);
1156 yych = *++YYCURSOR;
1157 if (yych != '{') goto yy64;
1158 YYDEBUG(69, *YYCURSOR);
1159 ++YYCURSOR;
1160 YYDEBUG(70, *YYCURSOR);
1161 yyleng = YYCURSOR - SCNG(yy_text);
1162 #line 452 "Zend/zend_ini_scanner.l"
1163 { /* Variable start */
1164 yy_push_state(ST_VARNAME);
1165 return TC_DOLLAR_CURLY;
1166 }
1167 #line 1168 "Zend/zend_ini_scanner.c"
1168 }
1169 /* *********************************** */
1170 yyc_ST_OFFSET:
1171 {
1172 static const unsigned char yybm[] = {
1173 132, 132, 132, 132, 132, 132, 132, 132,
1174 132, 140, 128, 132, 132, 128, 132, 132,
1175 132, 132, 132, 132, 132, 132, 132, 132,
1176 132, 132, 132, 132, 132, 132, 132, 132,
1177 140, 132, 128, 132, 192, 132, 132, 0,
1178 132, 132, 132, 132, 132, 132, 132, 132,
1179 180, 180, 180, 180, 180, 180, 180, 180,
1180 180, 180, 132, 128, 132, 132, 132, 132,
1181 132, 164, 164, 164, 164, 164, 164, 164,
1182 164, 164, 164, 164, 164, 164, 164, 164,
1183 164, 164, 164, 164, 164, 164, 164, 164,
1184 164, 164, 164, 132, 192, 128, 132, 164,
1185 132, 164, 164, 164, 164, 164, 164, 164,
1186 164, 164, 164, 164, 164, 164, 164, 164,
1187 164, 164, 164, 164, 164, 164, 164, 164,
1188 164, 164, 164, 132, 132, 132, 132, 132,
1189 132, 132, 132, 132, 132, 132, 132, 132,
1190 132, 132, 132, 132, 132, 132, 132, 132,
1191 132, 132, 132, 132, 132, 132, 132, 132,
1192 132, 132, 132, 132, 132, 132, 132, 132,
1193 132, 132, 132, 132, 132, 132, 132, 132,
1194 132, 132, 132, 132, 132, 132, 132, 132,
1195 132, 132, 132, 132, 132, 132, 132, 132,
1196 132, 132, 132, 132, 132, 132, 132, 132,
1197 132, 132, 132, 132, 132, 132, 132, 132,
1198 132, 132, 132, 132, 132, 132, 132, 132,
1199 132, 132, 132, 132, 132, 132, 132, 132,
1200 132, 132, 132, 132, 132, 132, 132, 132,
1201 132, 132, 132, 132, 132, 132, 132, 132,
1202 132, 132, 132, 132, 132, 132, 132, 132,
1203 132, 132, 132, 132, 132, 132, 132, 132,
1204 132, 132, 132, 132, 132, 132, 132, 132,
1205 };
1206 YYDEBUG(71, *YYCURSOR);
1207 YYFILL(2);
1208 yych = *YYCURSOR;
1209 if (yybm[0+yych] & 8) {
1210 goto yy76;
1211 }
1212 if (yych <= '/') {
1213 if (yych <= '"') {
1214 if (yych <= '\f') {
1215 if (yych <= 0x08) goto yy73;
1216 if (yych <= '\n') goto yy78;
1217 } else {
1218 if (yych <= '\r') goto yy78;
1219 if (yych >= '"') goto yy80;
1220 }
1221 } else {
1222 if (yych <= '&') {
1223 if (yych == '$') goto yy82;
1224 } else {
1225 if (yych <= '\'') goto yy83;
1226 if (yych <= ',') goto yy73;
1227 if (yych <= '.') goto yy84;
1228 }
1229 }
1230 } else {
1231 if (yych <= '[') {
1232 if (yych <= ';') {
1233 if (yych <= '9') goto yy85;
1234 if (yych >= ';') goto yy78;
1235 } else {
1236 if (yych <= '@') goto yy73;
1237 if (yych <= 'Z') goto yy88;
1238 }
1239 } else {
1240 if (yych <= '^') {
1241 if (yych <= '\\') goto yy91;
1242 if (yych <= ']') goto yy92;
1243 } else {
1244 if (yych == '`') goto yy73;
1245 if (yych <= 'z') goto yy88;
1246 }
1247 }
1248 }
1249 yy73:
1250 YYDEBUG(73, *YYCURSOR);
1251 yyaccept = 0;
1252 YYMARKER = ++YYCURSOR;
1253 YYFILL(1);
1254 yych = *YYCURSOR;
1255 yy74:
1256 YYDEBUG(74, *YYCURSOR);
1257 if (yybm[0+yych] & 4) {
1258 goto yy73;
1259 }
1260 if (yych <= '"') goto yy75;
1261 if (yych <= '$') goto yy94;
1262 if (yych <= ';') goto yy75;
1263 if (yych <= '\\') goto yy96;
1264 yy75:
1265 YYDEBUG(75, *YYCURSOR);
1266 yyleng = YYCURSOR - SCNG(yy_text);
1267 #line 583 "Zend/zend_ini_scanner.l"
1268 { /* Get rest as section/offset value */
1269 RETURN_TOKEN(TC_STRING, yytext, yyleng);
1270 }
1271 #line 1272 "Zend/zend_ini_scanner.c"
1272 yy76:
1273 YYDEBUG(76, *YYCURSOR);
1274 yyaccept = 0;
1275 YYMARKER = ++YYCURSOR;
1276 YYFILL(1);
1277 yych = *YYCURSOR;
1278 YYDEBUG(77, *YYCURSOR);
1279 if (yybm[0+yych] & 8) {
1280 goto yy76;
1281 }
1282 if (yych <= '$') {
1283 if (yych <= '\r') {
1284 if (yych <= 0x08) goto yy73;
1285 if (yych <= '\n') goto yy75;
1286 if (yych <= '\f') goto yy73;
1287 goto yy75;
1288 } else {
1289 if (yych == '"') goto yy80;
1290 if (yych <= '#') goto yy73;
1291 goto yy94;
1292 }
1293 } else {
1294 if (yych <= ';') {
1295 if (yych == '\'') goto yy75;
1296 if (yych <= ':') goto yy73;
1297 goto yy75;
1298 } else {
1299 if (yych <= '[') goto yy73;
1300 if (yych <= '\\') goto yy96;
1301 if (yych <= ']') goto yy92;
1302 goto yy73;
1303 }
1304 }
1305 yy78:
1306 YYDEBUG(78, *YYCURSOR);
1307 ++YYCURSOR;
1308 yy79:
1309 YYDEBUG(79, *YYCURSOR);
1310 yyleng = YYCURSOR - SCNG(yy_text);
1311 #line 658 "Zend/zend_ini_scanner.l"
1312 {
1313 return 0;
1314 }
1315 #line 1316 "Zend/zend_ini_scanner.c"
1316 yy80:
1317 YYDEBUG(80, *YYCURSOR);
1318 ++YYCURSOR;
1319 YYDEBUG(81, *YYCURSOR);
1320 yyleng = YYCURSOR - SCNG(yy_text);
1321 #line 587 "Zend/zend_ini_scanner.l"
1322 { /* Double quoted '"' string start */
1323 yy_push_state(ST_DOUBLE_QUOTES);
1324 return '"';
1325 }
1326 #line 1327 "Zend/zend_ini_scanner.c"
1327 yy82:
1328 YYDEBUG(82, *YYCURSOR);
1329 yych = *++YYCURSOR;
1330 if (yych <= '\\') {
1331 if (yych <= 0x00) goto yy79;
1332 if (yych <= '[') goto yy73;
1333 goto yy97;
1334 } else {
1335 if (yych == '{') goto yy99;
1336 goto yy73;
1337 }
1338 yy83:
1339 YYDEBUG(83, *YYCURSOR);
1340 yyaccept = 1;
1341 yych = *(YYMARKER = ++YYCURSOR);
1342 if (yybm[0+yych] & 128) {
1343 goto yy101;
1344 }
1345 goto yy79;
1346 yy84:
1347 YYDEBUG(84, *YYCURSOR);
1348 yyaccept = 0;
1349 yych = *(YYMARKER = ++YYCURSOR);
1350 if (yych <= '/') goto yy74;
1351 if (yych <= '9') goto yy103;
1352 goto yy74;
1353 yy85:
1354 YYDEBUG(85, *YYCURSOR);
1355 yyaccept = 2;
1356 YYMARKER = ++YYCURSOR;
1357 YYFILL(1);
1358 yych = *YYCURSOR;
1359 YYDEBUG(86, *YYCURSOR);
1360 if (yybm[0+yych] & 16) {
1361 goto yy85;
1362 }
1363 if (yych <= '&') {
1364 if (yych <= '\r') {
1365 if (yych == '\n') goto yy87;
1366 if (yych <= '\f') goto yy73;
1367 } else {
1368 if (yych <= '"') {
1369 if (yych <= '!') goto yy73;
1370 } else {
1371 if (yych == '$') goto yy94;
1372 goto yy73;
1373 }
1374 }
1375 } else {
1376 if (yych <= ':') {
1377 if (yych <= '\'') goto yy87;
1378 if (yych == '.') goto yy103;
1379 goto yy73;
1380 } else {
1381 if (yych <= '[') {
1382 if (yych >= '<') goto yy73;
1383 } else {
1384 if (yych <= '\\') goto yy96;
1385 if (yych >= '^') goto yy73;
1386 }
1387 }
1388 }
1389 yy87:
1390 YYDEBUG(87, *YYCURSOR);
1391 yyleng = YYCURSOR - SCNG(yy_text);
1392 #line 561 "Zend/zend_ini_scanner.l"
1393 { /* Get number option value as string */
1394 RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
1395 }
1396 #line 1397 "Zend/zend_ini_scanner.c"
1397 yy88:
1398 YYDEBUG(88, *YYCURSOR);
1399 yyaccept = 3;
1400 YYMARKER = ++YYCURSOR;
1401 YYFILL(1);
1402 yych = *YYCURSOR;
1403 YYDEBUG(89, *YYCURSOR);
1404 if (yybm[0+yych] & 32) {
1405 goto yy88;
1406 }
1407 if (yych <= '$') {
1408 if (yych <= '\r') {
1409 if (yych == '\n') goto yy90;
1410 if (yych <= '\f') goto yy73;
1411 } else {
1412 if (yych == '"') goto yy90;
1413 if (yych <= '#') goto yy73;
1414 goto yy94;
1415 }
1416 } else {
1417 if (yych <= ';') {
1418 if (yych == '\'') goto yy90;
1419 if (yych <= ':') goto yy73;
1420 } else {
1421 if (yych <= '[') goto yy73;
1422 if (yych <= '\\') goto yy96;
1423 if (yych >= '^') goto yy73;
1424 }
1425 }
1426 yy90:
1427 YYDEBUG(90, *YYCURSOR);
1428 yyleng = YYCURSOR - SCNG(yy_text);
1429 #line 557 "Zend/zend_ini_scanner.l"
1430 { /* Get constant option value */
1431 RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
1432 }
1433 #line 1434 "Zend/zend_ini_scanner.c"
1434 yy91:
1435 YYDEBUG(91, *YYCURSOR);
1436 yych = *++YYCURSOR;
1437 goto yy73;
1438 yy92:
1439 YYDEBUG(92, *YYCURSOR);
1440 ++YYCURSOR;
1441 YYDEBUG(93, *YYCURSOR);
1442 yyleng = YYCURSOR - SCNG(yy_text);
1443 #line 447 "Zend/zend_ini_scanner.l"
1444 { /* End of section or an option offset */
1445 BEGIN(INITIAL);
1446 return ']';
1447 }
1448 #line 1449 "Zend/zend_ini_scanner.c"
1449 yy94:
1450 YYDEBUG(94, *YYCURSOR);
1451 ++YYCURSOR;
1452 YYFILL(1);
1453 yych = *YYCURSOR;
1454 if (yych <= '\\') {
1455 if (yych <= 0x00) goto yy95;
1456 if (yych <= '[') goto yy73;
1457 goto yy97;
1458 } else {
1459 if (yych != '{') goto yy73;
1460 }
1461 yy95:
1462 YYDEBUG(95, *YYCURSOR);
1463 YYCURSOR = YYMARKER;
1464 if (yyaccept <= 1) {
1465 if (yyaccept == 0) {
1466 goto yy75;
1467 } else {
1468 goto yy79;
1469 }
1470 } else {
1471 if (yyaccept == 2) {
1472 goto yy87;
1473 } else {
1474 goto yy90;
1475 }
1476 }
1477 yy96:
1478 YYDEBUG(96, *YYCURSOR);
1479 ++YYCURSOR;
1480 YYFILL(1);
1481 yych = *YYCURSOR;
1482 goto yy73;
1483 yy97:
1484 YYDEBUG(97, *YYCURSOR);
1485 ++YYCURSOR;
1486 YYFILL(1);
1487 yych = *YYCURSOR;
1488 YYDEBUG(98, *YYCURSOR);
1489 if (yybm[0+yych] & 64) {
1490 goto yy97;
1491 }
1492 goto yy73;
1493 yy99:
1494 YYDEBUG(99, *YYCURSOR);
1495 ++YYCURSOR;
1496 YYDEBUG(100, *YYCURSOR);
1497 yyleng = YYCURSOR - SCNG(yy_text);
1498 #line 452 "Zend/zend_ini_scanner.l"
1499 { /* Variable start */
1500 yy_push_state(ST_VARNAME);
1501 return TC_DOLLAR_CURLY;
1502 }
1503 #line 1504 "Zend/zend_ini_scanner.c"
1504 yy101:
1505 YYDEBUG(101, *YYCURSOR);
1506 ++YYCURSOR;
1507 YYFILL(1);
1508 yych = *YYCURSOR;
1509 YYDEBUG(102, *YYCURSOR);
1510 if (yybm[0+yych] & 128) {
1511 goto yy101;
1512 }
1513 goto yy105;
1514 yy103:
1515 YYDEBUG(103, *YYCURSOR);
1516 yyaccept = 2;
1517 YYMARKER = ++YYCURSOR;
1518 YYFILL(1);
1519 yych = *YYCURSOR;
1520 YYDEBUG(104, *YYCURSOR);
1521 if (yych <= '&') {
1522 if (yych <= '\r') {
1523 if (yych == '\n') goto yy87;
1524 if (yych <= '\f') goto yy73;
1525 goto yy87;
1526 } else {
1527 if (yych <= '"') {
1528 if (yych <= '!') goto yy73;
1529 goto yy87;
1530 } else {
1531 if (yych == '$') goto yy94;
1532 goto yy73;
1533 }
1534 }
1535 } else {
1536 if (yych <= ':') {
1537 if (yych <= '\'') goto yy87;
1538 if (yych <= '/') goto yy73;
1539 if (yych <= '9') goto yy103;
1540 goto yy73;
1541 } else {
1542 if (yych <= '[') {
1543 if (yych <= ';') goto yy87;
1544 goto yy73;
1545 } else {
1546 if (yych <= '\\') goto yy96;
1547 if (yych <= ']') goto yy87;
1548 goto yy73;
1549 }
1550 }
1551 }
1552 yy105:
1553 YYDEBUG(105, *YYCURSOR);
1554 ++YYCURSOR;
1555 YYDEBUG(106, *YYCURSOR);
1556 yyleng = YYCURSOR - SCNG(yy_text);
1557 #line 419 "Zend/zend_ini_scanner.l"
1558 { /* Raw string */
1559 /* Eat leading and trailing single quotes */
1560 if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
1561 SCNG(yy_text)++;
1562 yyleng = yyleng - 2;
1563 }
1564 RETURN_TOKEN(TC_RAW, yytext, yyleng);
1565 }
1566 #line 1567 "Zend/zend_ini_scanner.c"
1567 }
1568 /* *********************************** */
1569 yyc_ST_RAW:
1570 {
1571 static const unsigned char yybm[] = {
1572 128, 128, 128, 128, 128, 128, 128, 128,
1573 128, 192, 0, 128, 128, 0, 128, 128,
1574 128, 128, 128, 128, 128, 128, 128, 128,
1575 128, 128, 128, 128, 128, 128, 128, 128,
1576 192, 128, 128, 128, 128, 128, 128, 128,
1577 128, 128, 128, 128, 128, 128, 128, 128,
1578 128, 128, 128, 128, 128, 128, 128, 128,
1579 128, 128, 128, 128, 128, 128, 128, 128,
1580 128, 128, 128, 128, 128, 128, 128, 128,
1581 128, 128, 128, 128, 128, 128, 128, 128,
1582 128, 128, 128, 128, 128, 128, 128, 128,
1583 128, 128, 128, 128, 128, 128, 128, 128,
1584 128, 128, 128, 128, 128, 128, 128, 128,
1585 128, 128, 128, 128, 128, 128, 128, 128,
1586 128, 128, 128, 128, 128, 128, 128, 128,
1587 128, 128, 128, 128, 128, 128, 128, 128,
1588 128, 128, 128, 128, 128, 128, 128, 128,
1589 128, 128, 128, 128, 128, 128, 128, 128,
1590 128, 128, 128, 128, 128, 128, 128, 128,
1591 128, 128, 128, 128, 128, 128, 128, 128,
1592 128, 128, 128, 128, 128, 128, 128, 128,
1593 128, 128, 128, 128, 128, 128, 128, 128,
1594 128, 128, 128, 128, 128, 128, 128, 128,
1595 128, 128, 128, 128, 128, 128, 128, 128,
1596 128, 128, 128, 128, 128, 128, 128, 128,
1597 128, 128, 128, 128, 128, 128, 128, 128,
1598 128, 128, 128, 128, 128, 128, 128, 128,
1599 128, 128, 128, 128, 128, 128, 128, 128,
1600 128, 128, 128, 128, 128, 128, 128, 128,
1601 128, 128, 128, 128, 128, 128, 128, 128,
1602 128, 128, 128, 128, 128, 128, 128, 128,
1603 128, 128, 128, 128, 128, 128, 128, 128,
1604 };
1605 YYDEBUG(107, *YYCURSOR);
1606 YYFILL(3);
1607 yych = *YYCURSOR;
1608 if (yych <= '\f') {
1609 if (yych <= 0x08) {
1610 if (yych >= 0x01) goto yy111;
1611 } else {
1612 if (yych <= '\t') goto yy113;
1613 if (yych <= '\n') goto yy114;
1614 goto yy111;
1615 }
1616 } else {
1617 if (yych <= ' ') {
1618 if (yych <= '\r') goto yy116;
1619 if (yych <= 0x1F) goto yy111;
1620 goto yy113;
1621 } else {
1622 if (yych == ';') goto yy117;
1623 goto yy111;
1624 }
1625 }
1626 YYDEBUG(109, *YYCURSOR);
1627 ++YYCURSOR;
1628 YYDEBUG(110, *YYCURSOR);
1629 yyleng = YYCURSOR - SCNG(yy_text);
1630 #line 653 "Zend/zend_ini_scanner.l"
1631 { /* End of option value (if EOF is reached before EOL */
1632 BEGIN(INITIAL);
1633 return END_OF_LINE;
1634 }
1635 #line 1636 "Zend/zend_ini_scanner.c"
1636 yy111:
1637 YYDEBUG(111, *YYCURSOR);
1638 ++YYCURSOR;
1639 yy112:
1640 YYDEBUG(112, *YYCURSOR);
1641 yyleng = YYCURSOR - SCNG(yy_text);
1642 #line 503 "Zend/zend_ini_scanner.l"
1643 { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
1644 unsigned char *sc = NULL;
1645 EAT_LEADING_WHITESPACE();
1646 while (YYCURSOR < YYLIMIT) {
1647 switch (*YYCURSOR) {
1648 case '\n':
1649 case '\r':
1650 goto end_raw_value_chars;
1651 break;
1652 case ';':
1653 if (sc == NULL) {
1654 sc = YYCURSOR;
1655 }
1656 YYCURSOR++;
1657 break;
1658 case '"':
1659 if (yytext[0] == '"') {
1660 sc = NULL;
1661 }
1662 YYCURSOR++;
1663 break;
1664 default:
1665 YYCURSOR++;
1666 break;
1667 }
1668 }
1669 end_raw_value_chars:
1670 if (sc) {
1671 yyleng = sc - SCNG(yy_text);
1672 } else {
1673 yyleng = YYCURSOR - SCNG(yy_text);
1674 }
1675
1676 EAT_TRAILING_WHITESPACE();
1677
1678 /* Eat leading and trailing double quotes */
1679 if (yyleng > 1 && yytext[0] == '"' && yytext[yyleng - 1] == '"') {
1680 SCNG(yy_text)++;
1681 yyleng = yyleng - 2;
1682 }
1683
1684 RETURN_TOKEN(TC_RAW, yytext, yyleng);
1685 }
1686 #line 1687 "Zend/zend_ini_scanner.c"
1687 yy113:
1688 YYDEBUG(113, *YYCURSOR);
1689 yych = *++YYCURSOR;
1690 if (yych <= '\r') {
1691 if (yych <= 0x08) goto yy112;
1692 if (yych <= '\n') goto yy119;
1693 if (yych <= '\f') goto yy112;
1694 goto yy119;
1695 } else {
1696 if (yych <= ' ') {
1697 if (yych <= 0x1F) goto yy112;
1698 goto yy119;
1699 } else {
1700 if (yych == ';') goto yy119;
1701 goto yy112;
1702 }
1703 }
1704 yy114:
1705 YYDEBUG(114, *YYCURSOR);
1706 ++YYCURSOR;
1707 yy115:
1708 YYDEBUG(115, *YYCURSOR);
1709 yyleng = YYCURSOR - SCNG(yy_text);
1710 #line 551 "Zend/zend_ini_scanner.l"
1711 { /* End of option value */
1712 BEGIN(INITIAL);
1713 SCNG(lineno)++;
1714 return END_OF_LINE;
1715 }
1716 #line 1717 "Zend/zend_ini_scanner.c"
1717 yy116:
1718 YYDEBUG(116, *YYCURSOR);
1719 yych = *++YYCURSOR;
1720 if (yych == '\n') goto yy114;
1721 goto yy115;
1722 yy117:
1723 YYDEBUG(117, *YYCURSOR);
1724 yych = *++YYCURSOR;
1725 goto yy122;
1726 yy118:
1727 YYDEBUG(118, *YYCURSOR);
1728 ++YYCURSOR;
1729 YYFILL(2);
1730 yych = *YYCURSOR;
1731 yy119:
1732 YYDEBUG(119, *YYCURSOR);
1733 if (yybm[0+yych] & 64) {
1734 goto yy118;
1735 }
1736 if (yych <= '\f') {
1737 if (yych <= 0x08) goto yy120;
1738 if (yych <= '\n') goto yy114;
1739 } else {
1740 if (yych <= '\r') goto yy116;
1741 if (yych == ';') goto yy121;
1742 }
1743 yy120:
1744 YYDEBUG(120, *YYCURSOR);
1745 yyleng = YYCURSOR - SCNG(yy_text);
1746 #line 637 "Zend/zend_ini_scanner.l"
1747 {
1748 /* eat whitespace */
1749 goto restart;
1750 }
1751 #line 1752 "Zend/zend_ini_scanner.c"
1752 yy121:
1753 YYDEBUG(121, *YYCURSOR);
1754 ++YYCURSOR;
1755 YYFILL(2);
1756 yych = *YYCURSOR;
1757 yy122:
1758 YYDEBUG(122, *YYCURSOR);
1759 if (yybm[0+yych] & 128) {
1760 goto yy121;
1761 }
1762 if (yych >= '\v') goto yy125;
1763 yy123:
1764 YYDEBUG(123, *YYCURSOR);
1765 ++YYCURSOR;
1766 yy124:
1767 YYDEBUG(124, *YYCURSOR);
1768 yyleng = YYCURSOR - SCNG(yy_text);
1769 #line 647 "Zend/zend_ini_scanner.l"
1770 { /* Comment */
1771 BEGIN(INITIAL);
1772 SCNG(lineno)++;
1773 return END_OF_LINE;
1774 }
1775 #line 1776 "Zend/zend_ini_scanner.c"
1776 yy125:
1777 YYDEBUG(125, *YYCURSOR);
1778 ++YYCURSOR;
1779 if ((yych = *YYCURSOR) == '\n') goto yy123;
1780 goto yy124;
1781 }
1782 /* *********************************** */
1783 yyc_ST_SECTION_RAW:
1784 {
1785 static const unsigned char yybm[] = {
1786 64, 64, 64, 64, 64, 64, 64, 64,
1787 64, 192, 0, 64, 64, 0, 64, 64,
1788 64, 64, 64, 64, 64, 64, 64, 64,
1789 64, 64, 64, 64, 64, 64, 64, 64,
1790 192, 64, 64, 64, 64, 64, 64, 64,
1791 64, 64, 64, 64, 64, 64, 64, 64,
1792 64, 64, 64, 64, 64, 64, 64, 64,
1793 64, 64, 64, 64, 64, 64, 64, 64,
1794 64, 64, 64, 64, 64, 64, 64, 64,
1795 64, 64, 64, 64, 64, 64, 64, 64,
1796 64, 64, 64, 64, 64, 64, 64, 64,
1797 64, 64, 64, 64, 64, 0, 64, 64,
1798 64, 64, 64, 64, 64, 64, 64, 64,
1799 64, 64, 64, 64, 64, 64, 64, 64,
1800 64, 64, 64, 64, 64, 64, 64, 64,
1801 64, 64, 64, 64, 64, 64, 64, 64,
1802 64, 64, 64, 64, 64, 64, 64, 64,
1803 64, 64, 64, 64, 64, 64, 64, 64,
1804 64, 64, 64, 64, 64, 64, 64, 64,
1805 64, 64, 64, 64, 64, 64, 64, 64,
1806 64, 64, 64, 64, 64, 64, 64, 64,
1807 64, 64, 64, 64, 64, 64, 64, 64,
1808 64, 64, 64, 64, 64, 64, 64, 64,
1809 64, 64, 64, 64, 64, 64, 64, 64,
1810 64, 64, 64, 64, 64, 64, 64, 64,
1811 64, 64, 64, 64, 64, 64, 64, 64,
1812 64, 64, 64, 64, 64, 64, 64, 64,
1813 64, 64, 64, 64, 64, 64, 64, 64,
1814 64, 64, 64, 64, 64, 64, 64, 64,
1815 64, 64, 64, 64, 64, 64, 64, 64,
1816 64, 64, 64, 64, 64, 64, 64, 64,
1817 64, 64, 64, 64, 64, 64, 64, 64,
1818 };
1819 YYDEBUG(126, *YYCURSOR);
1820 YYFILL(1);
1821 yych = *YYCURSOR;
1822 if (yybm[0+yych] & 64) {
1823 goto yy128;
1824 }
1825 if (yych <= '\r') goto yy131;
1826 goto yy133;
1827 yy128:
1828 YYDEBUG(128, *YYCURSOR);
1829 ++YYCURSOR;
1830 YYFILL(1);
1831 yych = *YYCURSOR;
1832 YYDEBUG(129, *YYCURSOR);
1833 if (yybm[0+yych] & 64) {
1834 goto yy128;
1835 }
1836 YYDEBUG(130, *YYCURSOR);
1837 yyleng = YYCURSOR - SCNG(yy_text);
1838 #line 547 "Zend/zend_ini_scanner.l"
1839 { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
1840 RETURN_TOKEN(TC_RAW, yytext, yyleng);
1841 }
1842 #line 1843 "Zend/zend_ini_scanner.c"
1843 yy131:
1844 YYDEBUG(131, *YYCURSOR);
1845 ++YYCURSOR;
1846 YYDEBUG(132, *YYCURSOR);
1847 yyleng = YYCURSOR - SCNG(yy_text);
1848 #line 658 "Zend/zend_ini_scanner.l"
1849 {
1850 return 0;
1851 }
1852 #line 1853 "Zend/zend_ini_scanner.c"
1853 yy133:
1854 YYDEBUG(133, *YYCURSOR);
1855 ++YYCURSOR;
1856 YYFILL(2);
1857 yych = *YYCURSOR;
1858 YYDEBUG(134, *YYCURSOR);
1859 if (yybm[0+yych] & 128) {
1860 goto yy133;
1861 }
1862 if (yych <= 0x08) goto yy135;
1863 if (yych <= '\n') goto yy136;
1864 if (yych == '\r') goto yy137;
1865 yy135:
1866 YYDEBUG(135, *YYCURSOR);
1867 yyleng = YYCURSOR - SCNG(yy_text);
1868 #line 428 "Zend/zend_ini_scanner.l"
1869 { /* End of section */
1870 BEGIN(INITIAL);
1871 SCNG(lineno)++;
1872 return ']';
1873 }
1874 #line 1875 "Zend/zend_ini_scanner.c"
1875 yy136:
1876 YYDEBUG(136, *YYCURSOR);
1877 yych = *++YYCURSOR;
1878 goto yy135;
1879 yy137:
1880 YYDEBUG(137, *YYCURSOR);
1881 ++YYCURSOR;
1882 if ((yych = *YYCURSOR) == '\n') goto yy136;
1883 goto yy135;
1884 }
1885 /* *********************************** */
1886 yyc_ST_SECTION_VALUE:
1887 {
1888 static const unsigned char yybm[] = {
1889 132, 132, 132, 132, 132, 132, 132, 132,
1890 132, 140, 128, 132, 132, 128, 132, 132,
1891 132, 132, 132, 132, 132, 132, 132, 132,
1892 132, 132, 132, 132, 132, 132, 132, 132,
1893 140, 132, 128, 132, 192, 132, 132, 0,
1894 132, 132, 132, 132, 132, 132, 132, 132,
1895 180, 180, 180, 180, 180, 180, 180, 180,
1896 180, 180, 132, 128, 132, 132, 132, 132,
1897 132, 164, 164, 164, 164, 164, 164, 164,
1898 164, 164, 164, 164, 164, 164, 164, 164,
1899 164, 164, 164, 164, 164, 164, 164, 164,
1900 164, 164, 164, 132, 192, 128, 132, 164,
1901 132, 164, 164, 164, 164, 164, 164, 164,
1902 164, 164, 164, 164, 164, 164, 164, 164,
1903 164, 164, 164, 164, 164, 164, 164, 164,
1904 164, 164, 164, 132, 132, 132, 132, 132,
1905 132, 132, 132, 132, 132, 132, 132, 132,
1906 132, 132, 132, 132, 132, 132, 132, 132,
1907 132, 132, 132, 132, 132, 132, 132, 132,
1908 132, 132, 132, 132, 132, 132, 132, 132,
1909 132, 132, 132, 132, 132, 132, 132, 132,
1910 132, 132, 132, 132, 132, 132, 132, 132,
1911 132, 132, 132, 132, 132, 132, 132, 132,
1912 132, 132, 132, 132, 132, 132, 132, 132,
1913 132, 132, 132, 132, 132, 132, 132, 132,
1914 132, 132, 132, 132, 132, 132, 132, 132,
1915 132, 132, 132, 132, 132, 132, 132, 132,
1916 132, 132, 132, 132, 132, 132, 132, 132,
1917 132, 132, 132, 132, 132, 132, 132, 132,
1918 132, 132, 132, 132, 132, 132, 132, 132,
1919 132, 132, 132, 132, 132, 132, 132, 132,
1920 132, 132, 132, 132, 132, 132, 132, 132,
1921 };
1922 YYDEBUG(138, *YYCURSOR);
1923 YYFILL(2);
1924 yych = *YYCURSOR;
1925 if (yybm[0+yych] & 8) {
1926 goto yy143;
1927 }
1928 if (yych <= '/') {
1929 if (yych <= '"') {
1930 if (yych <= '\f') {
1931 if (yych <= 0x08) goto yy140;
1932 if (yych <= '\n') goto yy145;
1933 } else {
1934 if (yych <= '\r') goto yy145;
1935 if (yych >= '"') goto yy147;
1936 }
1937 } else {
1938 if (yych <= '&') {
1939 if (yych == '$') goto yy149;
1940 } else {
1941 if (yych <= '\'') goto yy150;
1942 if (yych <= ',') goto yy140;
1943 if (yych <= '.') goto yy151;
1944 }
1945 }
1946 } else {
1947 if (yych <= '[') {
1948 if (yych <= ';') {
1949 if (yych <= '9') goto yy152;
1950 if (yych >= ';') goto yy145;
1951 } else {
1952 if (yych <= '@') goto yy140;
1953 if (yych <= 'Z') goto yy155;
1954 }
1955 } else {
1956 if (yych <= '^') {
1957 if (yych <= '\\') goto yy158;
1958 if (yych <= ']') goto yy159;
1959 } else {
1960 if (yych == '`') goto yy140;
1961 if (yych <= 'z') goto yy155;
1962 }
1963 }
1964 }
1965 yy140:
1966 YYDEBUG(140, *YYCURSOR);
1967 yyaccept = 0;
1968 YYMARKER = ++YYCURSOR;
1969 YYFILL(1);
1970 yych = *YYCURSOR;
1971 yy141:
1972 YYDEBUG(141, *YYCURSOR);
1973 if (yybm[0+yych] & 4) {
1974 goto yy140;
1975 }
1976 if (yych <= '"') goto yy142;
1977 if (yych <= '$') goto yy162;
1978 if (yych <= ';') goto yy142;
1979 if (yych <= '\\') goto yy164;
1980 yy142:
1981 YYDEBUG(142, *YYCURSOR);
1982 yyleng = YYCURSOR - SCNG(yy_text);
1983 #line 583 "Zend/zend_ini_scanner.l"
1984 { /* Get rest as section/offset value */
1985 RETURN_TOKEN(TC_STRING, yytext, yyleng);
1986 }
1987 #line 1988 "Zend/zend_ini_scanner.c"
1988 yy143:
1989 YYDEBUG(143, *YYCURSOR);
1990 yyaccept = 0;
1991 YYMARKER = ++YYCURSOR;
1992 YYFILL(1);
1993 yych = *YYCURSOR;
1994 YYDEBUG(144, *YYCURSOR);
1995 if (yybm[0+yych] & 8) {
1996 goto yy143;
1997 }
1998 if (yych <= '$') {
1999 if (yych <= '\r') {
2000 if (yych <= 0x08) goto yy140;
2001 if (yych <= '\n') goto yy142;
2002 if (yych <= '\f') goto yy140;
2003 goto yy142;
2004 } else {
2005 if (yych == '"') goto yy147;
2006 if (yych <= '#') goto yy140;
2007 goto yy162;
2008 }
2009 } else {
2010 if (yych <= ';') {
2011 if (yych == '\'') goto yy142;
2012 if (yych <= ':') goto yy140;
2013 goto yy142;
2014 } else {
2015 if (yych <= '[') goto yy140;
2016 if (yych <= '\\') goto yy164;
2017 if (yych <= ']') goto yy142;
2018 goto yy140;
2019 }
2020 }
2021 yy145:
2022 YYDEBUG(145, *YYCURSOR);
2023 ++YYCURSOR;
2024 yy146:
2025 YYDEBUG(146, *YYCURSOR);
2026 yyleng = YYCURSOR - SCNG(yy_text);
2027 #line 658 "Zend/zend_ini_scanner.l"
2028 {
2029 return 0;
2030 }
2031 #line 2032 "Zend/zend_ini_scanner.c"
2032 yy147:
2033 YYDEBUG(147, *YYCURSOR);
2034 ++YYCURSOR;
2035 YYDEBUG(148, *YYCURSOR);
2036 yyleng = YYCURSOR - SCNG(yy_text);
2037 #line 587 "Zend/zend_ini_scanner.l"
2038 { /* Double quoted '"' string start */
2039 yy_push_state(ST_DOUBLE_QUOTES);
2040 return '"';
2041 }
2042 #line 2043 "Zend/zend_ini_scanner.c"
2043 yy149:
2044 YYDEBUG(149, *YYCURSOR);
2045 yych = *++YYCURSOR;
2046 if (yych <= '\\') {
2047 if (yych <= 0x00) goto yy146;
2048 if (yych <= '[') goto yy140;
2049 goto yy165;
2050 } else {
2051 if (yych == '{') goto yy167;
2052 goto yy140;
2053 }
2054 yy150:
2055 YYDEBUG(150, *YYCURSOR);
2056 yyaccept = 1;
2057 yych = *(YYMARKER = ++YYCURSOR);
2058 if (yybm[0+yych] & 128) {
2059 goto yy169;
2060 }
2061 goto yy146;
2062 yy151:
2063 YYDEBUG(151, *YYCURSOR);
2064 yyaccept = 0;
2065 yych = *(YYMARKER = ++YYCURSOR);
2066 if (yych <= '/') goto yy141;
2067 if (yych <= '9') goto yy171;
2068 goto yy141;
2069 yy152:
2070 YYDEBUG(152, *YYCURSOR);
2071 yyaccept = 2;
2072 YYMARKER = ++YYCURSOR;
2073 YYFILL(1);
2074 yych = *YYCURSOR;
2075 YYDEBUG(153, *YYCURSOR);
2076 if (yybm[0+yych] & 16) {
2077 goto yy152;
2078 }
2079 if (yych <= '&') {
2080 if (yych <= '\r') {
2081 if (yych == '\n') goto yy154;
2082 if (yych <= '\f') goto yy140;
2083 } else {
2084 if (yych <= '"') {
2085 if (yych <= '!') goto yy140;
2086 } else {
2087 if (yych == '$') goto yy162;
2088 goto yy140;
2089 }
2090 }
2091 } else {
2092 if (yych <= ':') {
2093 if (yych <= '\'') goto yy154;
2094 if (yych == '.') goto yy171;
2095 goto yy140;
2096 } else {
2097 if (yych <= '[') {
2098 if (yych >= '<') goto yy140;
2099 } else {
2100 if (yych <= '\\') goto yy164;
2101 if (yych >= '^') goto yy140;
2102 }
2103 }
2104 }
2105 yy154:
2106 YYDEBUG(154, *YYCURSOR);
2107 yyleng = YYCURSOR - SCNG(yy_text);
2108 #line 561 "Zend/zend_ini_scanner.l"
2109 { /* Get number option value as string */
2110 RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
2111 }
2112 #line 2113 "Zend/zend_ini_scanner.c"
2113 yy155:
2114 YYDEBUG(155, *YYCURSOR);
2115 yyaccept = 3;
2116 YYMARKER = ++YYCURSOR;
2117 YYFILL(1);
2118 yych = *YYCURSOR;
2119 YYDEBUG(156, *YYCURSOR);
2120 if (yybm[0+yych] & 32) {
2121 goto yy155;
2122 }
2123 if (yych <= '$') {
2124 if (yych <= '\r') {
2125 if (yych == '\n') goto yy157;
2126 if (yych <= '\f') goto yy140;
2127 } else {
2128 if (yych == '"') goto yy157;
2129 if (yych <= '#') goto yy140;
2130 goto yy162;
2131 }
2132 } else {
2133 if (yych <= ';') {
2134 if (yych == '\'') goto yy157;
2135 if (yych <= ':') goto yy140;
2136 } else {
2137 if (yych <= '[') goto yy140;
2138 if (yych <= '\\') goto yy164;
2139 if (yych >= '^') goto yy140;
2140 }
2141 }
2142 yy157:
2143 YYDEBUG(157, *YYCURSOR);
2144 yyleng = YYCURSOR - SCNG(yy_text);
2145 #line 557 "Zend/zend_ini_scanner.l"
2146 { /* Get constant option value */
2147 RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
2148 }
2149 #line 2150 "Zend/zend_ini_scanner.c"
2150 yy158:
2151 YYDEBUG(158, *YYCURSOR);
2152 yych = *++YYCURSOR;
2153 goto yy140;
2154 yy159:
2155 YYDEBUG(159, *YYCURSOR);
2156 ++YYCURSOR;
2157 YYFILL(2);
2158 yych = *YYCURSOR;
2159 YYDEBUG(160, *YYCURSOR);
2160 if (yych <= '\f') {
2161 if (yych <= 0x08) goto yy161;
2162 if (yych <= '\t') goto yy159;
2163 if (yych <= '\n') goto yy173;
2164 } else {
2165 if (yych <= '\r') goto yy174;
2166 if (yych == ' ') goto yy159;
2167 }
2168 yy161:
2169 YYDEBUG(161, *YYCURSOR);
2170 yyleng = YYCURSOR - SCNG(yy_text);
2171 #line 428 "Zend/zend_ini_scanner.l"
2172 { /* End of section */
2173 BEGIN(INITIAL);
2174 SCNG(lineno)++;
2175 return ']';
2176 }
2177 #line 2178 "Zend/zend_ini_scanner.c"
2178 yy162:
2179 YYDEBUG(162, *YYCURSOR);
2180 ++YYCURSOR;
2181 YYFILL(1);
2182 yych = *YYCURSOR;
2183 if (yych <= '\\') {
2184 if (yych <= 0x00) goto yy163;
2185 if (yych <= '[') goto yy140;
2186 goto yy165;
2187 } else {
2188 if (yych != '{') goto yy140;
2189 }
2190 yy163:
2191 YYDEBUG(163, *YYCURSOR);
2192 YYCURSOR = YYMARKER;
2193 if (yyaccept <= 1) {
2194 if (yyaccept == 0) {
2195 goto yy142;
2196 } else {
2197 goto yy146;
2198 }
2199 } else {
2200 if (yyaccept == 2) {
2201 goto yy154;
2202 } else {
2203 goto yy157;
2204 }
2205 }
2206 yy164:
2207 YYDEBUG(164, *YYCURSOR);
2208 ++YYCURSOR;
2209 YYFILL(1);
2210 yych = *YYCURSOR;
2211 goto yy140;
2212 yy165:
2213 YYDEBUG(165, *YYCURSOR);
2214 ++YYCURSOR;
2215 YYFILL(1);
2216 yych = *YYCURSOR;
2217 YYDEBUG(166, *YYCURSOR);
2218 if (yybm[0+yych] & 64) {
2219 goto yy165;
2220 }
2221 goto yy140;
2222 yy167:
2223 YYDEBUG(167, *YYCURSOR);
2224 ++YYCURSOR;
2225 YYDEBUG(168, *YYCURSOR);
2226 yyleng = YYCURSOR - SCNG(yy_text);
2227 #line 452 "Zend/zend_ini_scanner.l"
2228 { /* Variable start */
2229 yy_push_state(ST_VARNAME);
2230 return TC_DOLLAR_CURLY;
2231 }
2232 #line 2233 "Zend/zend_ini_scanner.c"
2233 yy169:
2234 YYDEBUG(169, *YYCURSOR);
2235 ++YYCURSOR;
2236 YYFILL(1);
2237 yych = *YYCURSOR;
2238 YYDEBUG(170, *YYCURSOR);
2239 if (yybm[0+yych] & 128) {
2240 goto yy169;
2241 }
2242 goto yy175;
2243 yy171:
2244 YYDEBUG(171, *YYCURSOR);
2245 yyaccept = 2;
2246 YYMARKER = ++YYCURSOR;
2247 YYFILL(1);
2248 yych = *YYCURSOR;
2249 YYDEBUG(172, *YYCURSOR);
2250 if (yych <= '&') {
2251 if (yych <= '\r') {
2252 if (yych == '\n') goto yy154;
2253 if (yych <= '\f') goto yy140;
2254 goto yy154;
2255 } else {
2256 if (yych <= '"') {
2257 if (yych <= '!') goto yy140;
2258 goto yy154;
2259 } else {
2260 if (yych == '$') goto yy162;
2261 goto yy140;
2262 }
2263 }
2264 } else {
2265 if (yych <= ':') {
2266 if (yych <= '\'') goto yy154;
2267 if (yych <= '/') goto yy140;
2268 if (yych <= '9') goto yy171;
2269 goto yy140;
2270 } else {
2271 if (yych <= '[') {
2272 if (yych <= ';') goto yy154;
2273 goto yy140;
2274 } else {
2275 if (yych <= '\\') goto yy164;
2276 if (yych <= ']') goto yy154;
2277 goto yy140;
2278 }
2279 }
2280 }
2281 yy173:
2282 YYDEBUG(173, *YYCURSOR);
2283 yych = *++YYCURSOR;
2284 goto yy161;
2285 yy174:
2286 YYDEBUG(174, *YYCURSOR);
2287 yych = *++YYCURSOR;
2288 if (yych == '\n') goto yy173;
2289 goto yy161;
2290 yy175:
2291 YYDEBUG(175, *YYCURSOR);
2292 ++YYCURSOR;
2293 YYDEBUG(176, *YYCURSOR);
2294 yyleng = YYCURSOR - SCNG(yy_text);
2295 #line 419 "Zend/zend_ini_scanner.l"
2296 { /* Raw string */
2297 /* Eat leading and trailing single quotes */
2298 if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
2299 SCNG(yy_text)++;
2300 yyleng = yyleng - 2;
2301 }
2302 RETURN_TOKEN(TC_RAW, yytext, yyleng);
2303 }
2304 #line 2305 "Zend/zend_ini_scanner.c"
2305 }
2306 /* *********************************** */
2307 yyc_ST_VALUE:
2308 {
2309 static const unsigned char yybm[] = {
2310 96, 98, 98, 98, 98, 98, 98, 98,
2311 98, 100, 64, 98, 98, 64, 98, 98,
2312 98, 98, 98, 98, 98, 98, 98, 98,
2313 98, 98, 98, 98, 98, 98, 98, 98,
2314 100, 96, 96, 98, 224, 98, 96, 32,
2315 96, 96, 98, 98, 98, 98, 98, 98,
2316 122, 122, 122, 122, 122, 122, 122, 122,
2317 122, 122, 98, 96, 98, 96, 98, 98,
2318 98, 114, 114, 114, 114, 114, 114, 114,
2319 114, 114, 114, 114, 114, 114, 114, 114,
2320 114, 114, 114, 114, 114, 114, 114, 114,
2321 114, 114, 114, 98, 98, 98, 96, 114,
2322 98, 114, 114, 114, 114, 114, 114, 114,
2323 114, 114, 114, 114, 114, 114, 114, 114,
2324 114, 114, 114, 114, 114, 114, 114, 114,
2325 114, 114, 114, 98, 96, 98, 96, 98,
2326 98, 98, 98, 98, 98, 98, 98, 98,
2327 98, 98, 98, 98, 98, 98, 98, 98,
2328 98, 98, 98, 98, 98, 98, 98, 98,
2329 98, 98, 98, 98, 98, 98, 98, 98,
2330 98, 98, 98, 98, 98, 98, 98, 98,
2331 98, 98, 98, 98, 98, 98, 98, 98,
2332 98, 98, 98, 98, 98, 98, 98, 98,
2333 98, 98, 98, 98, 98, 98, 98, 98,
2334 98, 98, 98, 98, 98, 98, 98, 98,
2335 98, 98, 98, 98, 98, 98, 98, 98,
2336 98, 98, 98, 98, 98, 98, 98, 98,
2337 98, 98, 98, 98, 98, 98, 98, 98,
2338 98, 98, 98, 98, 98, 98, 98, 98,
2339 98, 98, 98, 98, 98, 98, 98, 98,
2340 98, 98, 98, 98, 98, 98, 98, 98,
2341 98, 98, 98, 98, 98, 98, 98, 98,
2342 };
2343 YYDEBUG(177, *YYCURSOR);
2344 YYFILL(6);
2345 yych = *YYCURSOR;
2346 if (yybm[0+yych] & 4) {
2347 goto yy184;
2348 }
2349 switch (yych) {
2350 case 0x00: goto yy179;
2351 case '\t':
2352 case '\n': goto yy187;
2353 case '\r': goto yy189;
2354 case ' ':
2355 case '!':
2356 case '&':
2357 case '(':
2358 case ')':
2359 case '^':
2360 case '|':
2361 case '~': goto yy190;
2362 case '"': goto yy193;
2363 case '$': goto yy195;
2364 case '\'': goto yy196;
2365 case '-':
2366 case '.': goto yy197;
2367 case '0':
2368 case '1':
2369 case '2':
2370 case '3':
2371 case '4':
2372 case '5':
2373 case '6':
2374 case '7':
2375 case '8':
2376 case '9': goto yy198;
2377 case ';': goto yy201;
2378 case '=': goto yy202;
2379 case 'A':
2380 case 'B':
2381 case 'C':
2382 case 'D':
2383 case 'E':
2384 case 'G':
2385 case 'H':
2386 case 'I':
2387 case 'J':
2388 case 'K':
2389 case 'L':
2390 case 'M':
2391 case 'P':
2392 case 'Q':
2393 case 'R':
2394 case 'S':
2395 case 'U':
2396 case 'V':
2397 case 'W':
2398 case 'X':
2399 case 'Z':
2400 case '_':
2401 case 'a':
2402 case 'b':
2403 case 'c':
2404 case 'd':
2405 case 'e':
2406 case 'g':
2407 case 'h':
2408 case 'i':
2409 case 'j':
2410 case 'k':
2411 case 'l':
2412 case 'm':
2413 case 'p':
2414 case 'q':
2415 case 'r':
2416 case 's':
2417 case 'u':
2418 case 'v':
2419 case 'w':
2420 case 'x':
2421 case 'z': goto yy204;
2422 case 'F':
2423 case 'f': goto yy207;
2424 case 'N':
2425 case 'n': goto yy208;
2426 case 'O':
2427 case 'o': goto yy209;
2428 case 'T':
2429 case 't': goto yy210;
2430 case 'Y':
2431 case 'y': goto yy211;
2432 default: goto yy181;
2433 }
2434 yy179:
2435 YYDEBUG(179, *YYCURSOR);
2436 ++YYCURSOR;
2437 yy180:
2438 YYDEBUG(180, *YYCURSOR);
2439 yyleng = YYCURSOR - SCNG(yy_text);
2440 #line 653 "Zend/zend_ini_scanner.l"
2441 { /* End of option value (if EOF is reached before EOL */
2442 BEGIN(INITIAL);
2443 return END_OF_LINE;
2444 }
2445 #line 2446 "Zend/zend_ini_scanner.c"
2446 yy181:
2447 YYDEBUG(181, *YYCURSOR);
2448 yyaccept = 0;
2449 YYMARKER = ++YYCURSOR;
2450 YYFILL(1);
2451 yych = *YYCURSOR;
2452 yy182:
2453 YYDEBUG(182, *YYCURSOR);
2454 if (yybm[0+yych] & 2) {
2455 goto yy181;
2456 }
2457 if (yych <= '"') goto yy183;
2458 if (yych <= '$') goto yy212;
2459 yy183:
2460 YYDEBUG(183, *YYCURSOR);
2461 yyleng = YYCURSOR - SCNG(yy_text);
2462 #line 579 "Zend/zend_ini_scanner.l"
2463 { /* Get everything else as option/offset value */
2464 RETURN_TOKEN(TC_STRING, yytext, yyleng);
2465 }
2466 #line 2467 "Zend/zend_ini_scanner.c"
2467 yy184:
2468 YYDEBUG(184, *YYCURSOR);
2469 yyaccept = 1;
2470 YYMARKER = ++YYCURSOR;
2471 YYFILL(2);
2472 yych = *YYCURSOR;
2473 YYDEBUG(185, *YYCURSOR);
2474 if (yybm[0+yych] & 4) {
2475 goto yy184;
2476 }
2477 if (yych <= '\r') {
2478 if (yych <= 0x08) goto yy186;
2479 if (yych <= '\n') goto yy187;
2480 if (yych >= '\r') goto yy189;
2481 } else {
2482 if (yych <= '"') {
2483 if (yych >= '"') goto yy193;
2484 } else {
2485 if (yych == ';') goto yy214;
2486 }
2487 }
2488 yy186:
2489 YYDEBUG(186, *YYCURSOR);
2490 yyleng = YYCURSOR - SCNG(yy_text);
2491 #line 633 "Zend/zend_ini_scanner.l"
2492 {
2493 RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng);
2494 }
2495 #line 2496 "Zend/zend_ini_scanner.c"
2496 yy187:
2497 YYDEBUG(187, *YYCURSOR);
2498 ++YYCURSOR;
2499 yy188:
2500 YYDEBUG(188, *YYCURSOR);
2501 yyleng = YYCURSOR - SCNG(yy_text);
2502 #line 551 "Zend/zend_ini_scanner.l"
2503 { /* End of option value */
2504 BEGIN(INITIAL);
2505 SCNG(lineno)++;
2506 return END_OF_LINE;
2507 }
2508 #line 2509 "Zend/zend_ini_scanner.c"
2509 yy189:
2510 YYDEBUG(189, *YYCURSOR);
2511 yych = *++YYCURSOR;
2512 if (yych == '\n') goto yy187;
2513 goto yy188;
2514 yy190:
2515 YYDEBUG(190, *YYCURSOR);
2516 ++YYCURSOR;
2517 YYFILL(1);
2518 yych = *YYCURSOR;
2519 YYDEBUG(191, *YYCURSOR);
2520 if (yych == '\t') goto yy190;
2521 if (yych == ' ') goto yy190;
2522 YYDEBUG(192, *YYCURSOR);
2523 yyleng = YYCURSOR - SCNG(yy_text);
2524 #line 569 "Zend/zend_ini_scanner.l"
2525 { /* Boolean operators */
2526 return yytext[0];
2527 }
2528 #line 2529 "Zend/zend_ini_scanner.c"
2529 yy193:
2530 YYDEBUG(193, *YYCURSOR);
2531 ++YYCURSOR;
2532 YYDEBUG(194, *YYCURSOR);
2533 yyleng = YYCURSOR - SCNG(yy_text);
2534 #line 587 "Zend/zend_ini_scanner.l"
2535 { /* Double quoted '"' string start */
2536 yy_push_state(ST_DOUBLE_QUOTES);
2537 return '"';
2538 }
2539 #line 2540 "Zend/zend_ini_scanner.c"
2540 yy195:
2541 YYDEBUG(195, *YYCURSOR);
2542 yych = *++YYCURSOR;
2543 if (yych <= '\\') {
2544 if (yych <= 0x00) goto yy180;
2545 if (yych <= '[') goto yy181;
2546 goto yy216;
2547 } else {
2548 if (yych == '{') goto yy217;
2549 goto yy181;
2550 }
2551 yy196:
2552 YYDEBUG(196, *YYCURSOR);
2553 yyaccept = 2;
2554 yych = *(YYMARKER = ++YYCURSOR);
2555 if (yybm[0+yych] & 64) {
2556 goto yy219;
2557 }
2558 goto yy180;
2559 yy197:
2560 YYDEBUG(197, *YYCURSOR);
2561 yyaccept = 0;
2562 yych = *(YYMARKER = ++YYCURSOR);
2563 if (yych <= '/') goto yy182;
2564 if (yych <= '9') goto yy221;
2565 goto yy182;
2566 yy198:
2567 YYDEBUG(198, *YYCURSOR);
2568 yyaccept = 3;
2569 YYMARKER = ++YYCURSOR;
2570 YYFILL(1);
2571 yych = *YYCURSOR;
2572 YYDEBUG(199, *YYCURSOR);
2573 if (yybm[0+yych] & 8) {
2574 goto yy198;
2575 }
2576 if (yych <= '-') {
2577 if (yych <= 0x1F) {
2578 if (yych <= '\n') {
2579 if (yych <= 0x00) goto yy200;
2580 if (yych <= 0x08) goto yy181;
2581 } else {
2582 if (yych != '\r') goto yy181;
2583 }
2584 } else {
2585 if (yych <= '$') {
2586 if (yych <= '"') goto yy200;
2587 if (yych <= '#') goto yy181;
2588 goto yy212;
2589 } else {
2590 if (yych <= '%') goto yy181;
2591 if (yych >= '*') goto yy181;
2592 }
2593 }
2594 } else {
2595 if (yych <= ']') {
2596 if (yych <= ';') {
2597 if (yych <= '.') goto yy221;
2598 if (yych <= ':') goto yy181;
2599 } else {
2600 if (yych != '=') goto yy181;
2601 }
2602 } else {
2603 if (yych <= '|') {
2604 if (yych <= '^') goto yy200;
2605 if (yych <= '{') goto yy181;
2606 } else {
2607 if (yych != '~') goto yy181;
2608 }
2609 }
2610 }
2611 yy200:
2612 YYDEBUG(200, *YYCURSOR);
2613 yyleng = YYCURSOR - SCNG(yy_text);
2614 #line 561 "Zend/zend_ini_scanner.l"
2615 { /* Get number option value as string */
2616 RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
2617 }
2618 #line 2619 "Zend/zend_ini_scanner.c"
2619 yy201:
2620 YYDEBUG(201, *YYCURSOR);
2621 yyaccept = 2;
2622 yych = *(YYMARKER = ++YYCURSOR);
2623 goto yy215;
2624 yy202:
2625 YYDEBUG(202, *YYCURSOR);
2626 ++YYCURSOR;
2627 YYDEBUG(203, *YYCURSOR);
2628 yyleng = YYCURSOR - SCNG(yy_text);
2629 #line 573 "Zend/zend_ini_scanner.l"
2630 { /* Make = used in option value to trigger error */
2631 yyless(0);
2632 BEGIN(INITIAL);
2633 return END_OF_LINE;
2634 }
2635 #line 2636 "Zend/zend_ini_scanner.c"
2636 yy204:
2637 YYDEBUG(204, *YYCURSOR);
2638 yyaccept = 4;
2639 YYMARKER = ++YYCURSOR;
2640 YYFILL(1);
2641 yych = *YYCURSOR;
2642 YYDEBUG(205, *YYCURSOR);
2643 if (yybm[0+yych] & 16) {
2644 goto yy204;
2645 }
2646 if (yych <= ')') {
2647 if (yych <= '\r') {
2648 if (yych <= 0x08) {
2649 if (yych >= 0x01) goto yy181;
2650 } else {
2651 if (yych <= '\n') goto yy206;
2652 if (yych <= '\f') goto yy181;
2653 }
2654 } else {
2655 if (yych <= '#') {
2656 if (yych <= 0x1F) goto yy181;
2657 if (yych >= '#') goto yy181;
2658 } else {
2659 if (yych <= '$') goto yy212;
2660 if (yych <= '%') goto yy181;
2661 }
2662 }
2663 } else {
2664 if (yych <= ']') {
2665 if (yych <= ';') {
2666 if (yych <= ':') goto yy181;
2667 } else {
2668 if (yych != '=') goto yy181;
2669 }
2670 } else {
2671 if (yych <= '|') {
2672 if (yych <= '^') goto yy206;
2673 if (yych <= '{') goto yy181;
2674 } else {
2675 if (yych != '~') goto yy181;
2676 }
2677 }
2678 }
2679 yy206:
2680 YYDEBUG(206, *YYCURSOR);
2681 yyleng = YYCURSOR - SCNG(yy_text);
2682 #line 557 "Zend/zend_ini_scanner.l"
2683 { /* Get constant option value */
2684 RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
2685 }
2686 #line 2687 "Zend/zend_ini_scanner.c"
2687 yy207:
2688 YYDEBUG(207, *YYCURSOR);
2689 yyaccept = 4;
2690 yych = *(YYMARKER = ++YYCURSOR);
2691 if (yych <= '<') {
2692 if (yych <= '"') {
2693 if (yych <= '\n') {
2694 if (yych <= 0x00) goto yy206;
2695 if (yych <= 0x08) goto yy182;
2696 goto yy206;
2697 } else {
2698 if (yych == '\r') goto yy206;
2699 if (yych <= 0x1F) goto yy182;
2700 goto yy206;
2701 }
2702 } else {
2703 if (yych <= '/') {
2704 if (yych <= '%') goto yy182;
2705 if (yych <= ')') goto yy206;
2706 goto yy182;
2707 } else {
2708 if (yych <= '9') goto yy204;
2709 if (yych == ';') goto yy206;
2710 goto yy182;
2711 }
2712 }
2713 } else {
2714 if (yych <= '_') {
2715 if (yych <= 'A') {
2716 if (yych <= '=') goto yy206;
2717 if (yych <= '@') goto yy182;
2718 goto yy226;
2719 } else {
2720 if (yych <= 'Z') goto yy204;
2721 if (yych <= ']') goto yy182;
2722 if (yych <= '^') goto yy206;
2723 goto yy204;
2724 }
2725 } else {
2726 if (yych <= '{') {
2727 if (yych <= '`') goto yy182;
2728 if (yych <= 'a') goto yy226;
2729 if (yych <= 'z') goto yy204;
2730 goto yy182;
2731 } else {
2732 if (yych == '}') goto yy182;
2733 if (yych <= '~') goto yy206;
2734 goto yy182;
2735 }
2736 }
2737 }
2738 yy208:
2739 YYDEBUG(208, *YYCURSOR);
2740 yyaccept = 4;
2741 yych = *(YYMARKER = ++YYCURSOR);
2742 if (yych <= 'N') {
2743 if (yych <= '%') {
2744 if (yych <= '\f') {
2745 if (yych <= 0x00) goto yy206;
2746 if (yych <= 0x08) goto yy182;
2747 if (yych <= '\n') goto yy206;
2748 goto yy182;
2749 } else {
2750 if (yych <= '\r') goto yy206;
2751 if (yych <= 0x1F) goto yy182;
2752 if (yych <= '"') goto yy206;
2753 goto yy182;
2754 }
2755 } else {
2756 if (yych <= ':') {
2757 if (yych <= ')') goto yy206;
2758 if (yych <= '/') goto yy182;
2759 if (yych <= '9') goto yy204;
2760 goto yy182;
2761 } else {
2762 if (yych <= '<') {
2763 if (yych <= ';') goto yy206;
2764 goto yy182;
2765 } else {
2766 if (yych <= '=') goto yy206;
2767 if (yych <= '@') goto yy182;
2768 goto yy204;
2769 }
2770 }
2771 }
2772 } else {
2773 if (yych <= 'n') {
2774 if (yych <= 'Z') {
2775 if (yych <= 'O') goto yy227;
2776 if (yych == 'U') goto yy229;
2777 goto yy204;
2778 } else {
2779 if (yych <= '^') {
2780 if (yych <= ']') goto yy182;
2781 goto yy206;
2782 } else {
2783 if (yych == '`') goto yy182;
2784 goto yy204;
2785 }
2786 }
2787 } else {
2788 if (yych <= 'z') {
2789 if (yych <= 'o') goto yy227;
2790 if (yych == 'u') goto yy229;
2791 goto yy204;
2792 } else {
2793 if (yych <= '|') {
2794 if (yych <= '{') goto yy182;
2795 goto yy206;
2796 } else {
2797 if (yych == '~') goto yy206;
2798 goto yy182;
2799 }
2800 }
2801 }
2802 }
2803 yy209:
2804 YYDEBUG(209, *YYCURSOR);
2805 yyaccept = 4;
2806 yych = *(YYMARKER = ++YYCURSOR);
2807 if (yych <= 'E') {
2808 if (yych <= '%') {
2809 if (yych <= '\f') {
2810 if (yych <= 0x00) goto yy206;
2811 if (yych <= 0x08) goto yy182;
2812 if (yych <= '\n') goto yy206;
2813 goto yy182;
2814 } else {
2815 if (yych <= '\r') goto yy206;
2816 if (yych <= 0x1F) goto yy182;
2817 if (yych <= '"') goto yy206;
2818 goto yy182;
2819 }
2820 } else {
2821 if (yych <= ':') {
2822 if (yych <= ')') goto yy206;
2823 if (yych <= '/') goto yy182;
2824 if (yych <= '9') goto yy204;
2825 goto yy182;
2826 } else {
2827 if (yych <= '<') {
2828 if (yych <= ';') goto yy206;
2829 goto yy182;
2830 } else {
2831 if (yych <= '=') goto yy206;
2832 if (yych <= '@') goto yy182;
2833 goto yy204;
2834 }
2835 }
2836 }
2837 } else {
2838 if (yych <= 'e') {
2839 if (yych <= 'Z') {
2840 if (yych <= 'F') goto yy230;
2841 if (yych == 'N') goto yy231;
2842 goto yy204;
2843 } else {
2844 if (yych <= '^') {
2845 if (yych <= ']') goto yy182;
2846 goto yy206;
2847 } else {
2848 if (yych == '`') goto yy182;
2849 goto yy204;
2850 }
2851 }
2852 } else {
2853 if (yych <= 'z') {
2854 if (yych <= 'f') goto yy230;
2855 if (yych == 'n') goto yy231;
2856 goto yy204;
2857 } else {
2858 if (yych <= '|') {
2859 if (yych <= '{') goto yy182;
2860 goto yy206;
2861 } else {
2862 if (yych == '~') goto yy206;
2863 goto yy182;
2864 }
2865 }
2866 }
2867 }
2868 yy210:
2869 YYDEBUG(210, *YYCURSOR);
2870 yyaccept = 4;
2871 yych = *(YYMARKER = ++YYCURSOR);
2872 if (yych <= '=') {
2873 if (yych <= '"') {
2874 if (yych <= '\n') {
2875 if (yych <= 0x00) goto yy206;
2876 if (yych <= 0x08) goto yy182;
2877 goto yy206;
2878 } else {
2879 if (yych == '\r') goto yy206;
2880 if (yych <= 0x1F) goto yy182;
2881 goto yy206;
2882 }
2883 } else {
2884 if (yych <= '9') {
2885 if (yych <= '%') goto yy182;
2886 if (yych <= ')') goto yy206;
2887 if (yych <= '/') goto yy182;
2888 goto yy204;
2889 } else {
2890 if (yych == ';') goto yy206;
2891 if (yych <= '<') goto yy182;
2892 goto yy206;
2893 }
2894 }
2895 } else {
2896 if (yych <= '`') {
2897 if (yych <= 'Z') {
2898 if (yych <= '@') goto yy182;
2899 if (yych == 'R') goto yy233;
2900 goto yy204;
2901 } else {
2902 if (yych <= ']') goto yy182;
2903 if (yych <= '^') goto yy206;
2904 if (yych <= '_') goto yy204;
2905 goto yy182;
2906 }
2907 } else {
2908 if (yych <= '{') {
2909 if (yych == 'r') goto yy233;
2910 if (yych <= 'z') goto yy204;
2911 goto yy182;
2912 } else {
2913 if (yych == '}') goto yy182;
2914 if (yych <= '~') goto yy206;
2915 goto yy182;
2916 }
2917 }
2918 }
2919 yy211:
2920 YYDEBUG(211, *YYCURSOR);
2921 yyaccept = 4;
2922 yych = *(YYMARKER = ++YYCURSOR);
2923 if (yych <= '=') {
2924 if (yych <= '"') {
2925 if (yych <= '\n') {
2926 if (yych <= 0x00) goto yy206;
2927 if (yych <= 0x08) goto yy182;
2928 goto yy206;
2929 } else {
2930 if (yych == '\r') goto yy206;
2931 if (yych <= 0x1F) goto yy182;
2932 goto yy206;
2933 }
2934 } else {
2935 if (yych <= '9') {
2936 if (yych <= '%') goto yy182;
2937 if (yych <= ')') goto yy206;
2938 if (yych <= '/') goto yy182;
2939 goto yy204;
2940 } else {
2941 if (yych == ';') goto yy206;
2942 if (yych <= '<') goto yy182;
2943 goto yy206;
2944 }
2945 }
2946 } else {
2947 if (yych <= '`') {
2948 if (yych <= 'Z') {
2949 if (yych <= '@') goto yy182;
2950 if (yych == 'E') goto yy234;
2951 goto yy204;
2952 } else {
2953 if (yych <= ']') goto yy182;
2954 if (yych <= '^') goto yy206;
2955 if (yych <= '_') goto yy204;
2956 goto yy182;
2957 }
2958 } else {
2959 if (yych <= '{') {
2960 if (yych == 'e') goto yy234;
2961 if (yych <= 'z') goto yy204;
2962 goto yy182;
2963 } else {
2964 if (yych == '}') goto yy182;
2965 if (yych <= '~') goto yy206;
2966 goto yy182;
2967 }
2968 }
2969 }
2970 yy212:
2971 YYDEBUG(212, *YYCURSOR);
2972 ++YYCURSOR;
2973 YYFILL(1);
2974 yych = *YYCURSOR;
2975 if (yych <= '\\') {
2976 if (yych <= 0x00) goto yy213;
2977 if (yych <= '[') goto yy181;
2978 goto yy216;
2979 } else {
2980 if (yych != '{') goto yy181;
2981 }
2982 yy213:
2983 YYDEBUG(213, *YYCURSOR);
2984 YYCURSOR = YYMARKER;
2985 if (yyaccept <= 3) {
2986 if (yyaccept <= 1) {
2987 if (yyaccept == 0) {
2988 goto yy183;
2989 } else {
2990 goto yy186;
2991 }
2992 } else {
2993 if (yyaccept == 2) {
2994 goto yy180;
2995 } else {
2996 goto yy200;
2997 }
2998 }
2999 } else {
3000 if (yyaccept <= 5) {
3001 if (yyaccept == 4) {
3002 goto yy206;
3003 } else {
3004 goto yy228;
3005 }
3006 } else {
3007 if (yyaccept == 6) {
3008 goto yy232;
3009 } else {
3010 goto yy249;
3011 }
3012 }
3013 }
3014 yy214:
3015 YYDEBUG(214, *YYCURSOR);
3016 ++YYCURSOR;
3017 YYFILL(2);
3018 yych = *YYCURSOR;
3019 yy215:
3020 YYDEBUG(215, *YYCURSOR);
3021 if (yybm[0+yych] & 32) {
3022 goto yy214;
3023 }
3024 if (yych <= '\n') goto yy223;
3025 goto yy225;
3026 yy216:
3027 YYDEBUG(216, *YYCURSOR);
3028 ++YYCURSOR;
3029 YYFILL(1);
3030 yych = *YYCURSOR;
3031 if (yybm[0+yych] & 128) {
3032 goto yy235;
3033 }
3034 goto yy181;
3035 yy217:
3036 YYDEBUG(217, *YYCURSOR);
3037 ++YYCURSOR;
3038 YYDEBUG(218, *YYCURSOR);
3039 yyleng = YYCURSOR - SCNG(yy_text);
3040 #line 452 "Zend/zend_ini_scanner.l"
3041 { /* Variable start */
3042 yy_push_state(ST_VARNAME);
3043 return TC_DOLLAR_CURLY;
3044 }
3045 #line 3046 "Zend/zend_ini_scanner.c"
3046 yy219:
3047 YYDEBUG(219, *YYCURSOR);
3048 ++YYCURSOR;
3049 YYFILL(1);
3050 yych = *YYCURSOR;
3051 YYDEBUG(220, *YYCURSOR);
3052 if (yybm[0+yych] & 64) {
3053 goto yy219;
3054 }
3055 goto yy237;
3056 yy221:
3057 YYDEBUG(221, *YYCURSOR);
3058 yyaccept = 3;
3059 YYMARKER = ++YYCURSOR;
3060 YYFILL(1);
3061 yych = *YYCURSOR;
3062 YYDEBUG(222, *YYCURSOR);
3063 if (yych <= '/') {
3064 if (yych <= 0x1F) {
3065 if (yych <= '\n') {
3066 if (yych <= 0x00) goto yy200;
3067 if (yych <= 0x08) goto yy181;
3068 goto yy200;
3069 } else {
3070 if (yych == '\r') goto yy200;
3071 goto yy181;
3072 }
3073 } else {
3074 if (yych <= '$') {
3075 if (yych <= '"') goto yy200;
3076 if (yych <= '#') goto yy181;
3077 goto yy212;
3078 } else {
3079 if (yych <= '%') goto yy181;
3080 if (yych <= ')') goto yy200;
3081 goto yy181;
3082 }
3083 }
3084 } else {
3085 if (yych <= ']') {
3086 if (yych <= ';') {
3087 if (yych <= '9') goto yy221;
3088 if (yych <= ':') goto yy181;
3089 goto yy200;
3090 } else {
3091 if (yych == '=') goto yy200;
3092 goto yy181;
3093 }
3094 } else {
3095 if (yych <= '|') {
3096 if (yych <= '^') goto yy200;
3097 if (yych <= '{') goto yy181;
3098 goto yy200;
3099 } else {
3100 if (yych == '~') goto yy200;
3101 goto yy181;
3102 }
3103 }
3104 }
3105 yy223:
3106 YYDEBUG(223, *YYCURSOR);
3107 ++YYCURSOR;
3108 yy224:
3109 YYDEBUG(224, *YYCURSOR);
3110 yyleng = YYCURSOR - SCNG(yy_text);
3111 #line 647 "Zend/zend_ini_scanner.l"
3112 { /* Comment */
3113 BEGIN(INITIAL);
3114 SCNG(lineno)++;
3115 return END_OF_LINE;
3116 }
3117 #line 3118 "Zend/zend_ini_scanner.c"
3118 yy225:
3119 YYDEBUG(225, *YYCURSOR);
3120 yych = *++YYCURSOR;
3121 if (yych == '\n') goto yy223;
3122 goto yy224;
3123 yy226:
3124 YYDEBUG(226, *YYCURSOR);
3125 yyaccept = 4;
3126 yych = *(YYMARKER = ++YYCURSOR);
3127 if (yych <= '=') {
3128 if (yych <= '"') {
3129 if (yych <= '\n') {
3130 if (yych <= 0x00) goto yy206;
3131 if (yych <= 0x08) goto yy182;
3132 goto yy206;
3133 } else {
3134 if (yych == '\r') goto yy206;
3135 if (yych <= 0x1F) goto yy182;
3136 goto yy206;
3137 }
3138 } else {
3139 if (yych <= '9') {
3140 if (yych <= '%') goto yy182;
3141 if (yych <= ')') goto yy206;
3142 if (yych <= '/') goto yy182;
3143 goto yy204;
3144 } else {
3145 if (yych == ';') goto yy206;
3146 if (yych <= '<') goto yy182;
3147 goto yy206;
3148 }
3149 }
3150 } else {
3151 if (yych <= '`') {
3152 if (yych <= 'Z') {
3153 if (yych <= '@') goto yy182;
3154 if (yych == 'L') goto yy239;
3155 goto yy204;
3156 } else {
3157 if (yych <= ']') goto yy182;
3158 if (yych <= '^') goto yy206;
3159 if (yych <= '_') goto yy204;
3160 goto yy182;
3161 }
3162 } else {
3163 if (yych <= '{') {
3164 if (yych == 'l') goto yy239;
3165 if (yych <= 'z') goto yy204;
3166 goto yy182;
3167 } else {
3168 if (yych == '}') goto yy182;
3169 if (yych <= '~') goto yy206;
3170 goto yy182;
3171 }
3172 }
3173 }
3174 yy227:
3175 YYDEBUG(227, *YYCURSOR);
3176 yyaccept = 5;
3177 yych = *(YYMARKER = ++YYCURSOR);
3178 if (yych <= '<') {
3179 if (yych <= ' ') {
3180 if (yych <= '\n') {
3181 if (yych <= 0x00) goto yy228;
3182 if (yych <= 0x08) goto yy182;
3183 if (yych <= '\t') goto yy240;
3184 } else {
3185 if (yych == '\r') goto yy228;
3186 if (yych <= 0x1F) goto yy182;
3187 goto yy240;
3188 }
3189 } else {
3190 if (yych <= '/') {
3191 if (yych <= '"') goto yy228;
3192 if (yych <= '%') goto yy182;
3193 if (yych >= '*') goto yy182;
3194 } else {
3195 if (yych <= '9') goto yy204;
3196 if (yych != ';') goto yy182;
3197 }
3198 }
3199 } else {
3200 if (yych <= '_') {
3201 if (yych <= 'N') {
3202 if (yych <= '=') goto yy228;
3203 if (yych <= '@') goto yy182;
3204 if (yych <= 'M') goto yy204;
3205 goto yy242;
3206 } else {
3207 if (yych <= 'Z') goto yy204;
3208 if (yych <= ']') goto yy182;
3209 if (yych >= '_') goto yy204;
3210 }
3211 } else {
3212 if (yych <= 'z') {
3213 if (yych <= '`') goto yy182;
3214 if (yych == 'n') goto yy242;
3215 goto yy204;
3216 } else {
3217 if (yych <= '|') {
3218 if (yych <= '{') goto yy182;
3219 } else {
3220 if (yych != '~') goto yy182;
3221 }
3222 }
3223 }
3224 }
3225 yy228:
3226 YYDEBUG(228, *YYCURSOR);
3227 yyleng = YYCURSOR - SCNG(yy_text);
3228 #line 476 "Zend/zend_ini_scanner.l"
3229 { /* FALSE value (when used outside option value/offset this causes parse error!)*/
3230 RETURN_TOKEN(BOOL_FALSE, "", 0);
3231 }
3232 #line 3233 "Zend/zend_ini_scanner.c"
3233 yy229:
3234 YYDEBUG(229, *YYCURSOR);
3235 yyaccept = 4;
3236 yych = *(YYMARKER = ++YYCURSOR);
3237 if (yych <= '=') {
3238 if (yych <= '"') {
3239 if (yych <= '\n') {
3240 if (yych <= 0x00) goto yy206;
3241 if (yych <= 0x08) goto yy182;
3242 goto yy206;
3243 } else {
3244 if (yych == '\r') goto yy206;
3245 if (yych <= 0x1F) goto yy182;
3246 goto yy206;
3247 }
3248 } else {
3249 if (yych <= '9') {
3250 if (yych <= '%') goto yy182;
3251 if (yych <= ')') goto yy206;
3252 if (yych <= '/') goto yy182;
3253 goto yy204;
3254 } else {
3255 if (yych == ';') goto yy206;
3256 if (yych <= '<') goto yy182;
3257 goto yy206;
3258 }
3259 }
3260 } else {
3261 if (yych <= '`') {
3262 if (yych <= 'Z') {
3263 if (yych <= '@') goto yy182;
3264 if (yych == 'L') goto yy243;
3265 goto yy204;
3266 } else {
3267 if (yych <= ']') goto yy182;
3268 if (yych <= '^') goto yy206;
3269 if (yych <= '_') goto yy204;
3270 goto yy182;
3271 }
3272 } else {
3273 if (yych <= '{') {
3274 if (yych == 'l') goto yy243;
3275 if (yych <= 'z') goto yy204;
3276 goto yy182;
3277 } else {
3278 if (yych == '}') goto yy182;
3279 if (yych <= '~') goto yy206;
3280 goto yy182;
3281 }
3282 }
3283 }
3284 yy230:
3285 YYDEBUG(230, *YYCURSOR);
3286 yyaccept = 4;
3287 yych = *(YYMARKER = ++YYCURSOR);
3288 if (yych <= '=') {
3289 if (yych <= '"') {
3290 if (yych <= '\n') {
3291 if (yych <= 0x00) goto yy206;
3292 if (yych <= 0x08) goto yy182;
3293 goto yy206;
3294 } else {
3295 if (yych == '\r') goto yy206;
3296 if (yych <= 0x1F) goto yy182;
3297 goto yy206;
3298 }
3299 } else {
3300 if (yych <= '9') {
3301 if (yych <= '%') goto yy182;
3302 if (yych <= ')') goto yy206;
3303 if (yych <= '/') goto yy182;
3304 goto yy204;
3305 } else {
3306 if (yych == ';') goto yy206;
3307 if (yych <= '<') goto yy182;
3308 goto yy206;
3309 }
3310 }
3311 } else {
3312 if (yych <= '`') {
3313 if (yych <= 'Z') {
3314 if (yych <= '@') goto yy182;
3315 if (yych == 'F') goto yy244;
3316 goto yy204;
3317 } else {
3318 if (yych <= ']') goto yy182;
3319 if (yych <= '^') goto yy206;
3320 if (yych <= '_') goto yy204;
3321 goto yy182;
3322 }
3323 } else {
3324 if (yych <= '{') {
3325 if (yych == 'f') goto yy244;
3326 if (yych <= 'z') goto yy204;
3327 goto yy182;
3328 } else {
3329 if (yych == '}') goto yy182;
3330 if (yych <= '~') goto yy206;
3331 goto yy182;
3332 }
3333 }
3334 }
3335 yy231:
3336 YYDEBUG(231, *YYCURSOR);
3337 yyaccept = 6;
3338 yych = *(YYMARKER = ++YYCURSOR);
3339 if (yybm[0+yych] & 16) {
3340 goto yy204;
3341 }
3342 if (yych <= ')') {
3343 if (yych <= '\f') {
3344 if (yych <= 0x08) {
3345 if (yych >= 0x01) goto yy182;
3346 } else {
3347 if (yych <= '\t') goto yy245;
3348 if (yych >= '\v') goto yy182;
3349 }
3350 } else {
3351 if (yych <= ' ') {
3352 if (yych <= '\r') goto yy232;
3353 if (yych <= 0x1F) goto yy182;
3354 goto yy245;
3355 } else {
3356 if (yych <= '"') goto yy232;
3357 if (yych <= '%') goto yy182;
3358 }
3359 }
3360 } else {
3361 if (yych <= ']') {
3362 if (yych <= ';') {
3363 if (yych <= ':') goto yy182;
3364 } else {
3365 if (yych != '=') goto yy182;
3366 }
3367 } else {
3368 if (yych <= '|') {
3369 if (yych <= '^') goto yy232;
3370 if (yych <= '{') goto yy182;
3371 } else {
3372 if (yych != '~') goto yy182;
3373 }
3374 }
3375 }
3376 yy232:
3377 YYDEBUG(232, *YYCURSOR);
3378 yyleng = YYCURSOR - SCNG(yy_text);
3379 #line 472 "Zend/zend_ini_scanner.l"
3380 { /* TRUE value (when used outside option value/offset this causes parse error!) */
3381 RETURN_TOKEN(BOOL_TRUE, "1", 1);
3382 }
3383 #line 3384 "Zend/zend_ini_scanner.c"
3384 yy233:
3385 YYDEBUG(233, *YYCURSOR);
3386 yyaccept = 4;
3387 yych = *(YYMARKER = ++YYCURSOR);
3388 if (yych <= '=') {
3389 if (yych <= '"') {
3390 if (yych <= '\n') {
3391 if (yych <= 0x00) goto yy206;
3392 if (yych <= 0x08) goto yy182;
3393 goto yy206;
3394 } else {
3395 if (yych == '\r') goto yy206;
3396 if (yych <= 0x1F) goto yy182;
3397 goto yy206;
3398 }
3399 } else {
3400 if (yych <= '9') {
3401 if (yych <= '%') goto yy182;
3402 if (yych <= ')') goto yy206;
3403 if (yych <= '/') goto yy182;
3404 goto yy204;
3405 } else {
3406 if (yych == ';') goto yy206;
3407 if (yych <= '<') goto yy182;
3408 goto yy206;
3409 }
3410 }
3411 } else {
3412 if (yych <= '`') {
3413 if (yych <= 'Z') {
3414 if (yych <= '@') goto yy182;
3415 if (yych == 'U') goto yy247;
3416 goto yy204;
3417 } else {
3418 if (yych <= ']') goto yy182;
3419 if (yych <= '^') goto yy206;
3420 if (yych <= '_') goto yy204;
3421 goto yy182;
3422 }
3423 } else {
3424 if (yych <= '{') {
3425 if (yych == 'u') goto yy247;
3426 if (yych <= 'z') goto yy204;
3427 goto yy182;
3428 } else {
3429 if (yych == '}') goto yy182;
3430 if (yych <= '~') goto yy206;
3431 goto yy182;
3432 }
3433 }
3434 }
3435 yy234:
3436 YYDEBUG(234, *YYCURSOR);
3437 yyaccept = 4;
3438 yych = *(YYMARKER = ++YYCURSOR);
3439 if (yych <= '=') {
3440 if (yych <= '"') {
3441 if (yych <= '\n') {
3442 if (yych <= 0x00) goto yy206;
3443 if (yych <= 0x08) goto yy182;
3444 goto yy206;
3445 } else {
3446 if (yych == '\r') goto yy206;
3447 if (yych <= 0x1F) goto yy182;
3448 goto yy206;
3449 }
3450 } else {
3451 if (yych <= '9') {
3452 if (yych <= '%') goto yy182;
3453 if (yych <= ')') goto yy206;
3454 if (yych <= '/') goto yy182;
3455 goto yy204;
3456 } else {
3457 if (yych == ';') goto yy206;
3458 if (yych <= '<') goto yy182;
3459 goto yy206;
3460 }
3461 }
3462 } else {
3463 if (yych <= '`') {
3464 if (yych <= 'Z') {
3465 if (yych <= '@') goto yy182;
3466 if (yych == 'S') goto yy231;
3467 goto yy204;
3468 } else {
3469 if (yych <= ']') goto yy182;
3470 if (yych <= '^') goto yy206;
3471 if (yych <= '_') goto yy204;
3472 goto yy182;
3473 }
3474 } else {
3475 if (yych <= '{') {
3476 if (yych == 's') goto yy231;
3477 if (yych <= 'z') goto yy204;
3478 goto yy182;
3479 } else {
3480 if (yych == '}') goto yy182;
3481 if (yych <= '~') goto yy206;
3482 goto yy182;
3483 }
3484 }
3485 }
3486 yy235:
3487 YYDEBUG(235, *YYCURSOR);
3488 ++YYCURSOR;
3489 YYFILL(1);
3490 yych = *YYCURSOR;
3491 YYDEBUG(236, *YYCURSOR);
3492 if (yybm[0+yych] & 128) {
3493 goto yy235;
3494 }
3495 if (yych <= 0x00) goto yy183;
3496 if (yych == '\\') goto yy216;
3497 goto yy181;
3498 yy237:
3499 YYDEBUG(237, *YYCURSOR);
3500 ++YYCURSOR;
3501 YYDEBUG(238, *YYCURSOR);
3502 yyleng = YYCURSOR - SCNG(yy_text);
3503 #line 419 "Zend/zend_ini_scanner.l"
3504 { /* Raw string */
3505 /* Eat leading and trailing single quotes */
3506 if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
3507 SCNG(yy_text)++;
3508 yyleng = yyleng - 2;
3509 }
3510 RETURN_TOKEN(TC_RAW, yytext, yyleng);
3511 }
3512 #line 3513 "Zend/zend_ini_scanner.c"
3513 yy239:
3514 YYDEBUG(239, *YYCURSOR);
3515 yyaccept = 4;
3516 yych = *(YYMARKER = ++YYCURSOR);
3517 if (yych <= '=') {
3518 if (yych <= '"') {
3519 if (yych <= '\n') {
3520 if (yych <= 0x00) goto yy206;
3521 if (yych <= 0x08) goto yy182;
3522 goto yy206;
3523 } else {
3524 if (yych == '\r') goto yy206;
3525 if (yych <= 0x1F) goto yy182;
3526 goto yy206;
3527 }
3528 } else {
3529 if (yych <= '9') {
3530 if (yych <= '%') goto yy182;
3531 if (yych <= ')') goto yy206;
3532 if (yych <= '/') goto yy182;
3533 goto yy204;
3534 } else {
3535 if (yych == ';') goto yy206;
3536 if (yych <= '<') goto yy182;
3537 goto yy206;
3538 }
3539 }
3540 } else {
3541 if (yych <= '`') {
3542 if (yych <= 'Z') {
3543 if (yych <= '@') goto yy182;
3544 if (yych == 'S') goto yy242;
3545 goto yy204;
3546 } else {
3547 if (yych <= ']') goto yy182;
3548 if (yych <= '^') goto yy206;
3549 if (yych <= '_') goto yy204;
3550 goto yy182;
3551 }
3552 } else {
3553 if (yych <= '{') {
3554 if (yych == 's') goto yy242;
3555 if (yych <= 'z') goto yy204;
3556 goto yy182;
3557 } else {
3558 if (yych == '}') goto yy182;
3559 if (yych <= '~') goto yy206;
3560 goto yy182;
3561 }
3562 }
3563 }
3564 yy240:
3565 YYDEBUG(240, *YYCURSOR);
3566 ++YYCURSOR;
3567 YYFILL(1);
3568 yych = *YYCURSOR;
3569 YYDEBUG(241, *YYCURSOR);
3570 if (yych == '\t') goto yy240;
3571 if (yych == ' ') goto yy240;
3572 goto yy228;
3573 yy242:
3574 YYDEBUG(242, *YYCURSOR);
3575 yyaccept = 4;
3576 yych = *(YYMARKER = ++YYCURSOR);
3577 if (yych <= '=') {
3578 if (yych <= '"') {
3579 if (yych <= '\n') {
3580 if (yych <= 0x00) goto yy206;
3581 if (yych <= 0x08) goto yy182;
3582 goto yy206;
3583 } else {
3584 if (yych == '\r') goto yy206;
3585 if (yych <= 0x1F) goto yy182;
3586 goto yy206;
3587 }
3588 } else {
3589 if (yych <= '9') {
3590 if (yych <= '%') goto yy182;
3591 if (yych <= ')') goto yy206;
3592 if (yych <= '/') goto yy182;
3593 goto yy204;
3594 } else {
3595 if (yych == ';') goto yy206;
3596 if (yych <= '<') goto yy182;
3597 goto yy206;
3598 }
3599 }
3600 } else {
3601 if (yych <= '`') {
3602 if (yych <= 'Z') {
3603 if (yych <= '@') goto yy182;
3604 if (yych == 'E') goto yy244;
3605 goto yy204;
3606 } else {
3607 if (yych <= ']') goto yy182;
3608 if (yych <= '^') goto yy206;
3609 if (yych <= '_') goto yy204;
3610 goto yy182;
3611 }
3612 } else {
3613 if (yych <= '{') {
3614 if (yych == 'e') goto yy244;
3615 if (yych <= 'z') goto yy204;
3616 goto yy182;
3617 } else {
3618 if (yych == '}') goto yy182;
3619 if (yych <= '~') goto yy206;
3620 goto yy182;
3621 }
3622 }
3623 }
3624 yy243:
3625 YYDEBUG(243, *YYCURSOR);
3626 yyaccept = 4;
3627 yych = *(YYMARKER = ++YYCURSOR);
3628 if (yych <= '=') {
3629 if (yych <= '"') {
3630 if (yych <= '\n') {
3631 if (yych <= 0x00) goto yy206;
3632 if (yych <= 0x08) goto yy182;
3633 goto yy206;
3634 } else {
3635 if (yych == '\r') goto yy206;
3636 if (yych <= 0x1F) goto yy182;
3637 goto yy206;
3638 }
3639 } else {
3640 if (yych <= '9') {
3641 if (yych <= '%') goto yy182;
3642 if (yych <= ')') goto yy206;
3643 if (yych <= '/') goto yy182;
3644 goto yy204;
3645 } else {
3646 if (yych == ';') goto yy206;
3647 if (yych <= '<') goto yy182;
3648 goto yy206;
3649 }
3650 }
3651 } else {
3652 if (yych <= '`') {
3653 if (yych <= 'Z') {
3654 if (yych <= '@') goto yy182;
3655 if (yych == 'L') goto yy248;
3656 goto yy204;
3657 } else {
3658 if (yych <= ']') goto yy182;
3659 if (yych <= '^') goto yy206;
3660 if (yych <= '_') goto yy204;
3661 goto yy182;
3662 }
3663 } else {
3664 if (yych <= '{') {
3665 if (yych == 'l') goto yy248;
3666 if (yych <= 'z') goto yy204;
3667 goto yy182;
3668 } else {
3669 if (yych == '}') goto yy182;
3670 if (yych <= '~') goto yy206;
3671 goto yy182;
3672 }
3673 }
3674 }
3675 yy244:
3676 YYDEBUG(244, *YYCURSOR);
3677 yyaccept = 5;
3678 yych = *(YYMARKER = ++YYCURSOR);
3679 if (yybm[0+yych] & 16) {
3680 goto yy204;
3681 }
3682 if (yych <= ')') {
3683 if (yych <= '\f') {
3684 if (yych <= 0x08) {
3685 if (yych <= 0x00) goto yy228;
3686 goto yy182;
3687 } else {
3688 if (yych <= '\t') goto yy240;
3689 if (yych <= '\n') goto yy228;
3690 goto yy182;
3691 }
3692 } else {
3693 if (yych <= ' ') {
3694 if (yych <= '\r') goto yy228;
3695 if (yych <= 0x1F) goto yy182;
3696 goto yy240;
3697 } else {
3698 if (yych <= '"') goto yy228;
3699 if (yych <= '%') goto yy182;
3700 goto yy228;
3701 }
3702 }
3703 } else {
3704 if (yych <= ']') {
3705 if (yych <= ';') {
3706 if (yych <= ':') goto yy182;
3707 goto yy228;
3708 } else {
3709 if (yych == '=') goto yy228;
3710 goto yy182;
3711 }
3712 } else {
3713 if (yych <= '|') {
3714 if (yych <= '^') goto yy228;
3715 if (yych <= '{') goto yy182;
3716 goto yy228;
3717 } else {
3718 if (yych == '~') goto yy228;
3719 goto yy182;
3720 }
3721 }
3722 }
3723 yy245:
3724 YYDEBUG(245, *YYCURSOR);
3725 ++YYCURSOR;
3726 YYFILL(1);
3727 yych = *YYCURSOR;
3728 YYDEBUG(246, *YYCURSOR);
3729 if (yych == '\t') goto yy245;
3730 if (yych == ' ') goto yy245;
3731 goto yy232;
3732 yy247:
3733 YYDEBUG(247, *YYCURSOR);
3734 yyaccept = 4;
3735 yych = *(YYMARKER = ++YYCURSOR);
3736 if (yych <= '=') {
3737 if (yych <= '"') {
3738 if (yych <= '\n') {
3739 if (yych <= 0x00) goto yy206;
3740 if (yych <= 0x08) goto yy182;
3741 goto yy206;
3742 } else {
3743 if (yych == '\r') goto yy206;
3744 if (yych <= 0x1F) goto yy182;
3745 goto yy206;
3746 }
3747 } else {
3748 if (yych <= '9') {
3749 if (yych <= '%') goto yy182;
3750 if (yych <= ')') goto yy206;
3751 if (yych <= '/') goto yy182;
3752 goto yy204;
3753 } else {
3754 if (yych == ';') goto yy206;
3755 if (yych <= '<') goto yy182;
3756 goto yy206;
3757 }
3758 }
3759 } else {
3760 if (yych <= '`') {
3761 if (yych <= 'Z') {
3762 if (yych <= '@') goto yy182;
3763 if (yych == 'E') goto yy231;
3764 goto yy204;
3765 } else {
3766 if (yych <= ']') goto yy182;
3767 if (yych <= '^') goto yy206;
3768 if (yych <= '_') goto yy204;
3769 goto yy182;
3770 }
3771 } else {
3772 if (yych <= '{') {
3773 if (yych == 'e') goto yy231;
3774 if (yych <= 'z') goto yy204;
3775 goto yy182;
3776 } else {
3777 if (yych == '}') goto yy182;
3778 if (yych <= '~') goto yy206;
3779 goto yy182;
3780 }
3781 }
3782 }
3783 yy248:
3784 YYDEBUG(248, *YYCURSOR);
3785 yyaccept = 7;
3786 yych = *(YYMARKER = ++YYCURSOR);
3787 if (yybm[0+yych] & 16) {
3788 goto yy204;
3789 }
3790 if (yych <= ')') {
3791 if (yych <= '\f') {
3792 if (yych <= 0x08) {
3793 if (yych >= 0x01) goto yy182;
3794 } else {
3795 if (yych <= '\t') goto yy250;
3796 if (yych >= '\v') goto yy182;
3797 }
3798 } else {
3799 if (yych <= ' ') {
3800 if (yych <= '\r') goto yy249;
3801 if (yych <= 0x1F) goto yy182;
3802 goto yy250;
3803 } else {
3804 if (yych <= '"') goto yy249;
3805 if (yych <= '%') goto yy182;
3806 }
3807 }
3808 } else {
3809 if (yych <= ']') {
3810 if (yych <= ';') {
3811 if (yych <= ':') goto yy182;
3812 } else {
3813 if (yych != '=') goto yy182;
3814 }
3815 } else {
3816 if (yych <= '|') {
3817 if (yych <= '^') goto yy249;
3818 if (yych <= '{') goto yy182;
3819 } else {
3820 if (yych != '~') goto yy182;
3821 }
3822 }
3823 }
3824 yy249:
3825 YYDEBUG(249, *YYCURSOR);
3826 yyleng = YYCURSOR - SCNG(yy_text);
3827 #line 480 "Zend/zend_ini_scanner.l"
3828 {
3829 RETURN_TOKEN(NULL_NULL, "", 0);
3830 }
3831 #line 3832 "Zend/zend_ini_scanner.c"
3832 yy250:
3833 YYDEBUG(250, *YYCURSOR);
3834 ++YYCURSOR;
3835 YYFILL(1);
3836 yych = *YYCURSOR;
3837 YYDEBUG(251, *YYCURSOR);
3838 if (yych == '\t') goto yy250;
3839 if (yych == ' ') goto yy250;
3840 goto yy249;
3841 }
3842 /* *********************************** */
3843 yyc_ST_VARNAME:
3844 {
3845 static const unsigned char yybm[] = {
3846 128, 128, 128, 128, 128, 128, 128, 128,
3847 128, 0, 0, 128, 128, 0, 128, 128,
3848 128, 128, 128, 128, 128, 128, 128, 128,
3849 128, 128, 128, 128, 128, 128, 128, 128,
3850 128, 0, 0, 128, 0, 128, 0, 128,
3851 0, 0, 128, 128, 128, 128, 128, 128,
3852 128, 128, 128, 128, 128, 128, 128, 128,
3853 128, 128, 128, 0, 128, 0, 128, 128,
3854 128, 128, 128, 128, 128, 128, 128, 128,
3855 128, 128, 128, 128, 128, 128, 128, 128,
3856 128, 128, 128, 128, 128, 128, 128, 128,
3857 128, 128, 128, 0, 128, 128, 0, 128,
3858 128, 128, 128, 128, 128, 128, 128, 128,
3859 128, 128, 128, 128, 128, 128, 128, 128,
3860 128, 128, 128, 128, 128, 128, 128, 128,
3861 128, 128, 128, 0, 0, 0, 0, 128,
3862 128, 128, 128, 128, 128, 128, 128, 128,
3863 128, 128, 128, 128, 128, 128, 128, 128,
3864 128, 128, 128, 128, 128, 128, 128, 128,
3865 128, 128, 128, 128, 128, 128, 128, 128,
3866 128, 128, 128, 128, 128, 128, 128, 128,
3867 128, 128, 128, 128, 128, 128, 128, 128,
3868 128, 128, 128, 128, 128, 128, 128, 128,
3869 128, 128, 128, 128, 128, 128, 128, 128,
3870 128, 128, 128, 128, 128, 128, 128, 128,
3871 128, 128, 128, 128, 128, 128, 128, 128,
3872 128, 128, 128, 128, 128, 128, 128, 128,
3873 128, 128, 128, 128, 128, 128, 128, 128,
3874 128, 128, 128, 128, 128, 128, 128, 128,
3875 128, 128, 128, 128, 128, 128, 128, 128,
3876 128, 128, 128, 128, 128, 128, 128, 128,
3877 128, 128, 128, 128, 128, 128, 128, 128,
3878 };
3879 YYDEBUG(252, *YYCURSOR);
3880 YYFILL(1);
3881 yych = *YYCURSOR;
3882 if (yybm[0+yych] & 128) {
3883 goto yy254;
3884 }
3885 if (yych == '}') goto yy259;
3886 goto yy257;
3887 yy254:
3888 YYDEBUG(254, *YYCURSOR);
3889 ++YYCURSOR;
3890 YYFILL(1);
3891 yych = *YYCURSOR;
3892 YYDEBUG(255, *YYCURSOR);
3893 if (yybm[0+yych] & 128) {
3894 goto yy254;
3895 }
3896 YYDEBUG(256, *YYCURSOR);
3897 yyleng = YYCURSOR - SCNG(yy_text);
3898 #line 457 "Zend/zend_ini_scanner.l"
3899 { /* Variable name */
3900 /* Eat leading whitespace */
3901 EAT_LEADING_WHITESPACE();
3902
3903 /* Eat trailing whitespace */
3904 EAT_TRAILING_WHITESPACE();
3905
3906 RETURN_TOKEN(TC_VARNAME, yytext, yyleng);
3907 }
3908 #line 3909 "Zend/zend_ini_scanner.c"
3909 yy257:
3910 YYDEBUG(257, *YYCURSOR);
3911 ++YYCURSOR;
3912 YYDEBUG(258, *YYCURSOR);
3913 yyleng = YYCURSOR - SCNG(yy_text);
3914 #line 658 "Zend/zend_ini_scanner.l"
3915 {
3916 return 0;
3917 }
3918 #line 3919 "Zend/zend_ini_scanner.c"
3919 yy259:
3920 YYDEBUG(259, *YYCURSOR);
3921 ++YYCURSOR;
3922 YYDEBUG(260, *YYCURSOR);
3923 yyleng = YYCURSOR - SCNG(yy_text);
3924 #line 467 "Zend/zend_ini_scanner.l"
3925 { /* Variable end */
3926 yy_pop_state();
3927 return '}';
3928 }
3929 #line 3930 "Zend/zend_ini_scanner.c"
3930 }
3931 }
3932 #line 662 "Zend/zend_ini_scanner.l"
3933
3934 }
3935