Coverage Report

Created: 2025-12-14 06:05

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