Coverage Report

Created: 2026-06-02 06:36

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