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