Coverage Report

Created: 2026-10-28 06:20

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