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