Coverage Report

Created: 2026-06-02 06:36

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