summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjvoisin2024-06-18 21:19:21 +0200
committerjvoisin2024-06-18 21:19:21 +0200
commit4a486d7d8b26893953fa5214b0c987c9c236a043 (patch)
treee38192f869e367c3965e3bf978f140e69c6d3a14 /src
parent358bd3d82884f24353f6edddf097512b446938b9 (diff)
Updated the cached version of the config scanner
Diffstat (limited to 'src')
-rw-r--r--src/sp_config_scanner.cached.c2294
1 files changed, 1143 insertions, 1151 deletions
diff --git a/src/sp_config_scanner.cached.c b/src/sp_config_scanner.cached.c
index c6099e8..db6d953 100644
--- a/src/sp_config_scanner.cached.c
+++ b/src/sp_config_scanner.cached.c
@@ -7,7 +7,7 @@ enum YYCONDTYPE {
7 yycinit, 7 yycinit,
8 yyccond, 8 yyccond,
9 yyccond_op, 9 yyccond_op,
10 yycrule, 10 yycrule
11}; 11};
12 12
13 13
@@ -97,11 +97,11 @@ static void str_dtor(zval *zv) {
97 97
98// sy_ functions and macros are helpers for the shunting yard algorithm 98// sy_ functions and macros are helpers for the shunting yard algorithm
99#define sy_res_push(val) \ 99#define sy_res_push(val) \
100 if (cond_res_i >= MAX_CONDITIONS) { cs_log_error("condition too complex on line %d", lineno); goto out; } \ 100 if (cond_res_i >= MAX_CONDITIONS) { cs_log_error("condition too complex on line %zu", lineno); goto out; } \
101 cond_res[cond_res_i++] = val; 101 cond_res[cond_res_i++] = val;
102#define sy_res_pop() cond_res[--cond_res_i] 102#define sy_res_pop() cond_res[--cond_res_i]
103#define sy_op_push(op) \ 103#define sy_op_push(op) \
104 if (cond_op_i >= MAX_CONDITIONS) { cs_log_error("condition too complex on line %d", lineno); goto out; } \ 104 if (cond_op_i >= MAX_CONDITIONS) { cs_log_error("condition too complex on line %zu", lineno); goto out; } \
105 cond_op[cond_op_i++] = op; 105 cond_op[cond_op_i++] = op;
106#define sy_op_pop() cond_op[--cond_op_i] 106#define sy_op_pop() cond_op[--cond_op_i]
107#define sy_op_peek() cond_op[cond_op_i-1] 107#define sy_op_peek() cond_op[cond_op_i-1]
@@ -145,7 +145,7 @@ static int sy_apply_op(const char op, const int a, const int b) {
145#define SY_APPLY_OP_FROM_STACK() \ 145#define SY_APPLY_OP_FROM_STACK() \
146 char op = sy_op_pop(); \ 146 char op = sy_op_pop(); \
147 int unary = (op == '!'); \ 147 int unary = (op == '!'); \
148 if (cond_res_i < (2 - unary)) { cs_log_error("not enough input on line %d", lineno); goto out; } \ 148 if (cond_res_i < (2 - unary)) { cs_log_error("not enough input on line %zu", lineno); goto out; } \
149 int a = sy_res_pop(); \ 149 int a = sy_res_pop(); \
150 int b = unary ? 0 : sy_res_pop(); \ 150 int b = unary ? 0 : sy_res_pop(); \
151 int res = sy_apply_op(op, a, b); \ 151 int res = sy_apply_op(op, a, b); \
@@ -176,7 +176,7 @@ zend_result sp_config_scan(const char *data, zend_result (*process_rule)(sp_pars
176 int cond_op_i = 0; 176 int cond_op_i = 0;
177 177
178 int cond = yycinit; 178 int cond = yycinit;
179 long lineno = 1; 179 size_t lineno = 1;
180 180
181 const char *yyt1; 181 const char *yyt1;
182const char *yyt2; 182const char *yyt2;
@@ -188,6 +188,142 @@ const char *yyt5;
188{ 188{
189 char yych; 189 char yych;
190 unsigned int yyaccept = 0; 190 unsigned int yyaccept = 0;
191 static const unsigned char yybm_init[] = {
192 0, 80, 80, 80, 80, 80, 80, 80,
193 80, 88, 0, 80, 80, 0, 80, 80,
194 80, 80, 80, 80, 80, 80, 80, 80,
195 80, 80, 80, 80, 80, 80, 80, 80,
196 88, 80, 16, 80, 80, 80, 80, 80,
197 80, 80, 80, 80, 80, 80, 80, 80,
198 112, 112, 112, 112, 112, 112, 112, 112,
199 112, 112, 80, 80, 80, 80, 80, 80,
200 80, 112, 112, 112, 112, 112, 112, 112,
201 112, 112, 112, 112, 112, 112, 112, 112,
202 112, 112, 112, 112, 112, 112, 112, 112,
203 112, 112, 112, 80, 144, 80, 80, 112,
204 80, 112, 112, 112, 112, 112, 112, 112,
205 112, 112, 112, 112, 112, 112, 112, 112,
206 112, 112, 112, 112, 112, 112, 112, 112,
207 112, 112, 112, 80, 80, 80, 80, 80,
208 80, 80, 80, 80, 80, 80, 80, 80,
209 80, 80, 80, 80, 80, 80, 80, 80,
210 80, 80, 80, 80, 80, 80, 80, 80,
211 80, 80, 80, 80, 80, 80, 80, 80,
212 80, 80, 80, 80, 80, 80, 80, 80,
213 80, 80, 80, 80, 80, 80, 80, 80,
214 80, 80, 80, 80, 80, 80, 80, 80,
215 80, 80, 80, 80, 80, 80, 80, 80,
216 80, 80, 80, 80, 80, 80, 80, 80,
217 80, 80, 80, 80, 80, 80, 80, 80,
218 80, 80, 80, 80, 80, 80, 80, 80,
219 80, 80, 80, 80, 80, 80, 80, 80,
220 80, 80, 80, 80, 80, 80, 80, 80,
221 80, 80, 80, 80, 80, 80, 80, 80,
222 80, 80, 80, 80, 80, 80, 80, 80,
223 80, 80, 80, 80, 80, 80, 80, 80,
224 };
225 static const unsigned char yybm_cond[] = {
226 0, 64, 64, 64, 64, 64, 64, 64,
227 64, 72, 0, 64, 64, 0, 64, 64,
228 64, 64, 64, 64, 64, 64, 64, 64,
229 64, 64, 64, 64, 64, 64, 64, 64,
230 72, 64, 0, 64, 64, 64, 64, 64,
231 64, 64, 64, 64, 64, 64, 64, 64,
232 112, 112, 112, 112, 112, 112, 112, 112,
233 112, 112, 64, 64, 64, 64, 64, 64,
234 64, 96, 96, 96, 96, 96, 96, 96,
235 96, 96, 96, 96, 96, 96, 96, 96,
236 96, 96, 96, 96, 96, 96, 96, 96,
237 96, 96, 96, 64, 128, 64, 64, 96,
238 64, 96, 96, 96, 96, 96, 96, 96,
239 96, 96, 96, 96, 96, 96, 96, 96,
240 96, 96, 96, 96, 96, 96, 96, 96,
241 96, 96, 96, 64, 64, 64, 64, 64,
242 64, 64, 64, 64, 64, 64, 64, 64,
243 64, 64, 64, 64, 64, 64, 64, 64,
244 64, 64, 64, 64, 64, 64, 64, 64,
245 64, 64, 64, 64, 64, 64, 64, 64,
246 64, 64, 64, 64, 64, 64, 64, 64,
247 64, 64, 64, 64, 64, 64, 64, 64,
248 64, 64, 64, 64, 64, 64, 64, 64,
249 64, 64, 64, 64, 64, 64, 64, 64,
250 64, 64, 64, 64, 64, 64, 64, 64,
251 64, 64, 64, 64, 64, 64, 64, 64,
252 64, 64, 64, 64, 64, 64, 64, 64,
253 64, 64, 64, 64, 64, 64, 64, 64,
254 64, 64, 64, 64, 64, 64, 64, 64,
255 64, 64, 64, 64, 64, 64, 64, 64,
256 64, 64, 64, 64, 64, 64, 64, 64,
257 64, 64, 64, 64, 64, 64, 64, 64,
258 };
259 static const unsigned char yybm_cond_op[] = {
260 0, 0, 0, 0, 0, 0, 0, 0,
261 0, 128, 0, 0, 0, 0, 0, 0,
262 0, 0, 0, 0, 0, 0, 0, 0,
263 0, 0, 0, 0, 0, 0, 0, 0,
264 128, 0, 0, 0, 0, 0, 0, 0,
265 0, 0, 0, 0, 0, 0, 0, 0,
266 0, 0, 0, 0, 0, 0, 0, 0,
267 0, 0, 0, 0, 0, 0, 0, 0,
268 0, 0, 0, 0, 0, 0, 0, 0,
269 0, 0, 0, 0, 0, 0, 0, 0,
270 0, 0, 0, 0, 0, 0, 0, 0,
271 0, 0, 0, 0, 0, 0, 0, 0,
272 0, 0, 0, 0, 0, 0, 0, 0,
273 0, 0, 0, 0, 0, 0, 0, 0,
274 0, 0, 0, 0, 0, 0, 0, 0,
275 0, 0, 0, 0, 0, 0, 0, 0,
276 0, 0, 0, 0, 0, 0, 0, 0,
277 0, 0, 0, 0, 0, 0, 0, 0,
278 0, 0, 0, 0, 0, 0, 0, 0,
279 0, 0, 0, 0, 0, 0, 0, 0,
280 0, 0, 0, 0, 0, 0, 0, 0,
281 0, 0, 0, 0, 0, 0, 0, 0,
282 0, 0, 0, 0, 0, 0, 0, 0,
283 0, 0, 0, 0, 0, 0, 0, 0,
284 0, 0, 0, 0, 0, 0, 0, 0,
285 0, 0, 0, 0, 0, 0, 0, 0,
286 0, 0, 0, 0, 0, 0, 0, 0,
287 0, 0, 0, 0, 0, 0, 0, 0,
288 0, 0, 0, 0, 0, 0, 0, 0,
289 0, 0, 0, 0, 0, 0, 0, 0,
290 0, 0, 0, 0, 0, 0, 0, 0,
291 0, 0, 0, 0, 0, 0, 0, 0,
292 };
293 static const unsigned char yybm_rule[] = {
294 0, 64, 64, 64, 64, 64, 64, 64,
295 64, 88, 16, 64, 64, 0, 64, 64,
296 64, 64, 64, 64, 64, 64, 64, 64,
297 64, 64, 64, 64, 64, 64, 64, 64,
298 88, 64, 0, 64, 64, 64, 64, 64,
299 64, 64, 64, 64, 64, 64, 64, 64,
300 96, 96, 96, 96, 96, 96, 96, 96,
301 96, 96, 64, 64, 64, 64, 64, 64,
302 64, 96, 96, 96, 96, 96, 96, 96,
303 96, 96, 96, 96, 96, 96, 96, 96,
304 96, 96, 96, 96, 96, 96, 96, 96,
305 96, 96, 96, 64, 128, 64, 64, 96,
306 64, 96, 96, 96, 96, 96, 96, 96,
307 96, 96, 96, 96, 96, 96, 96, 96,
308 96, 96, 96, 96, 96, 96, 96, 96,
309 96, 96, 96, 64, 64, 64, 64, 64,
310 64, 64, 64, 64, 64, 64, 64, 64,
311 64, 64, 64, 64, 64, 64, 64, 64,
312 64, 64, 64, 64, 64, 64, 64, 64,
313 64, 64, 64, 64, 64, 64, 64, 64,
314 64, 64, 64, 64, 64, 64, 64, 64,
315 64, 64, 64, 64, 64, 64, 64, 64,
316 64, 64, 64, 64, 64, 64, 64, 64,
317 64, 64, 64, 64, 64, 64, 64, 64,
318 64, 64, 64, 64, 64, 64, 64, 64,
319 64, 64, 64, 64, 64, 64, 64, 64,
320 64, 64, 64, 64, 64, 64, 64, 64,
321 64, 64, 64, 64, 64, 64, 64, 64,
322 64, 64, 64, 64, 64, 64, 64, 64,
323 64, 64, 64, 64, 64, 64, 64, 64,
324 64, 64, 64, 64, 64, 64, 64, 64,
325 64, 64, 64, 64, 64, 64, 64, 64,
326 };
191 if (cond < 2) { 327 if (cond < 2) {
192 if (cond < 1) { 328 if (cond < 1) {
193 goto yyc_init; 329 goto yyc_init;
@@ -203,682 +339,647 @@ const char *yyt5;
203 } 339 }
204/* *********************************** */ 340/* *********************************** */
205yyc_init: 341yyc_init:
206 { 342 yych = *data;
207 static const unsigned char yybm[] = { 343 if (yybm_init[0+yych] & 8) {
208 0, 80, 80, 80, 80, 80, 80, 80, 344 goto yy4;
209 80, 88, 0, 80, 80, 0, 80, 80, 345 }
210 80, 80, 80, 80, 80, 80, 80, 80, 346 if (yych <= '#') {
211 80, 80, 80, 80, 80, 80, 80, 80, 347 if (yych <= '\n') {
212 88, 80, 16, 80, 80, 80, 80, 80, 348 if (yych <= 0x00) goto yy1;
213 80, 80, 80, 80, 80, 80, 80, 80, 349 if (yych <= 0x08) goto yy2;
214 112, 112, 112, 112, 112, 112, 112, 112, 350 goto yy5;
215 112, 112, 80, 80, 80, 80, 80, 80, 351 } else {
216 80, 112, 112, 112, 112, 112, 112, 112, 352 if (yych == '\r') goto yy6;
217 112, 112, 112, 112, 112, 112, 112, 112, 353 if (yych <= '"') goto yy2;
218 112, 112, 112, 112, 112, 112, 112, 112, 354 goto yy7;
219 112, 112, 112, 80, 144, 80, 80, 112,
220 80, 112, 112, 112, 112, 112, 112, 112,
221 112, 112, 112, 112, 112, 112, 112, 112,
222 112, 112, 112, 112, 112, 112, 112, 112,
223 112, 112, 112, 80, 80, 80, 80, 80,
224 80, 80, 80, 80, 80, 80, 80, 80,
225 80, 80, 80, 80, 80, 80, 80, 80,
226 80, 80, 80, 80, 80, 80, 80, 80,
227 80, 80, 80, 80, 80, 80, 80, 80,
228 80, 80, 80, 80, 80, 80, 80, 80,
229 80, 80, 80, 80, 80, 80, 80, 80,
230 80, 80, 80, 80, 80, 80, 80, 80,
231 80, 80, 80, 80, 80, 80, 80, 80,
232 80, 80, 80, 80, 80, 80, 80, 80,
233 80, 80, 80, 80, 80, 80, 80, 80,
234 80, 80, 80, 80, 80, 80, 80, 80,
235 80, 80, 80, 80, 80, 80, 80, 80,
236 80, 80, 80, 80, 80, 80, 80, 80,
237 80, 80, 80, 80, 80, 80, 80, 80,
238 80, 80, 80, 80, 80, 80, 80, 80,
239 80, 80, 80, 80, 80, 80, 80, 80,
240 };
241 yych = *data;
242 if (yybm[0+yych] & 8) {
243 goto yy4;
244 } 355 }
245 if (yych <= '#') { 356 } else {
246 if (yych <= '\n') { 357 if (yych <= '?') {
247 if (yych <= 0x00) goto yy1; 358 if (yych == ';') goto yy7;
248 if (yych <= 0x08) goto yy2; 359 goto yy2;
249 goto yy5;
250 } else {
251 if (yych == '\r') goto yy6;
252 if (yych <= '"') goto yy2;
253 goto yy7;
254 }
255 } else { 360 } else {
256 if (yych <= '?') { 361 if (yych <= '@') goto yy8;
257 if (yych == ';') goto yy7; 362 if (yych == 's') goto yy9;
258 goto yy2; 363 goto yy2;
259 } else {
260 if (yych <= '@') goto yy8;
261 if (yych == 's') goto yy9;
262 goto yy2;
263 }
264 } 364 }
365 }
265yy1: 366yy1:
266 ++data; 367 ++data;
267 { ret = SUCCESS; goto out; } 368 { ret = SUCCESS; goto out; }
268yy2: 369yy2:
269 ++data; 370 ++data;
270yy3: 371yy3:
271 { cs_log_error("parser error on line %d", lineno); goto out; } 372 { cs_log_error("parser error on line %zu", lineno); goto out; }
272yy4: 373yy4:
273 yych = *++data; 374 yych = *++data;
274 if (yybm[0+yych] & 8) { 375 if (yybm_init[0+yych] & 8) {
275 goto yy4; 376 goto yy4;
276 } 377 }
277 { goto yyc_init; } 378 { goto yyc_init; }
278yy5: 379yy5:
279 ++data; 380 ++data;
280 { lineno++; goto yyc_init; } 381 { lineno++; goto yyc_init; }
281yy6: 382yy6:
282 yych = *++data; 383 yych = *++data;
283 if (yych == '\n') goto yy5; 384 if (yych == '\n') goto yy5;
284 goto yy3; 385 goto yy3;
285yy7: 386yy7:
286 yych = *++data; 387 yych = *++data;
287 if (yybm[0+yych] & 16) { 388 if (yybm_init[0+yych] & 16) {
288 goto yy7; 389 goto yy7;
289 } 390 }
290 { goto yyc_init; } 391 { goto yyc_init; }
291yy8: 392yy8:
292 yyaccept = 0; 393 yyaccept = 0;
293 yych = *(YYMARKER = ++data); 394 yych = *(YYMARKER = ++data);
294 switch (yych) { 395 switch (yych) {
295 case 'c': goto yy10; 396 case 'c': goto yy10;
296 case 'e': goto yy12; 397 case 'e': goto yy12;
297 case 'i': goto yy13; 398 case 'i': goto yy13;
298 case 'l': goto yy14; 399 case 'l': goto yy14;
299 case 's': goto yy15; 400 case 's': goto yy15;
300 case 'w': goto yy16; 401 case 'w': goto yy16;
301 default: goto yy3; 402 default: goto yy3;
302 } 403 }
303yy9: 404yy9:
304 yyaccept = 0; 405 yyaccept = 0;
305 yych = *(YYMARKER = ++data); 406 yych = *(YYMARKER = ++data);
306 if (yych == 'e') goto yy17; 407 if (yych == 'e') goto yy17;
307 if (yych == 'p') goto yy18; 408 if (yych == 'p') goto yy18;
308 goto yy3; 409 goto yy3;
309yy10: 410yy10:
310 yych = *++data; 411 yych = *++data;
311 if (yych == 'o') goto yy19; 412 if (yych == 'o') goto yy19;
312yy11: 413yy11:
313 data = YYMARKER; 414 data = YYMARKER;
314 if (yyaccept <= 2) { 415 if (yyaccept <= 2) {
315 if (yyaccept <= 1) { 416 if (yyaccept <= 1) {
316 if (yyaccept == 0) { 417 if (yyaccept == 0) {
317 goto yy3; 418 goto yy3;
318 } else {
319 goto yy63;
320 }
321 } else { 419 } else {
322 goto yy66; 420 goto yy63;
323 } 421 }
324 } else { 422 } else {
325 if (yyaccept == 3) { 423 goto yy66;
326 goto yy78; 424 }
327 } else { 425 } else {
328 goto yy82; 426 if (yyaccept == 3) {
329 } 427 goto yy78;
428 } else {
429 goto yy82;
330 } 430 }
431 }
331yy12: 432yy12:
332 yych = *++data; 433 yych = *++data;
333 if (yych == 'n') goto yy20; 434 if (yych == 'n') goto yy20;
334 if (yych == 'r') goto yy21; 435 if (yych == 'r') goto yy21;
335 goto yy11; 436 goto yy11;
336yy13: 437yy13:
337 yych = *++data; 438 yych = *++data;
338 if (yych == 'n') goto yy22; 439 if (yych == 'n') goto yy22;
339 goto yy11; 440 goto yy11;
340yy14: 441yy14:
341 yych = *++data; 442 yych = *++data;
342 if (yych == 'o') goto yy23; 443 if (yych == 'o') goto yy23;
343 goto yy11; 444 goto yy11;
344yy15: 445yy15:
345 yych = *++data; 446 yych = *++data;
346 if (yych == 'e') goto yy17; 447 if (yych == 'e') goto yy17;
347 goto yy11; 448 goto yy11;
348yy16: 449yy16:
349 yych = *++data; 450 yych = *++data;
350 if (yych == 'a') goto yy24; 451 if (yych == 'a') goto yy24;
351 goto yy11; 452 goto yy11;
352yy17: 453yy17:
353 yych = *++data; 454 yych = *++data;
354 if (yych == 't') goto yy25; 455 if (yych == 't') goto yy25;
355 goto yy11; 456 goto yy11;
356yy18: 457yy18:
357 ++data; 458 ++data;
358 { kw_i = 0; goto yyc_rule; } 459 { kw_i = 0; goto yyc_rule; }
359yy19: 460yy19:
360 yych = *++data; 461 yych = *++data;
361 if (yych == 'n') goto yy26; 462 if (yych == 'n') goto yy26;
362 goto yy11; 463 goto yy11;
363yy20: 464yy20:
364 yych = *++data; 465 yych = *++data;
365 if (yych == 'd') goto yy27; 466 if (yych == 'd') goto yy27;
366 goto yy11; 467 goto yy11;
367yy21: 468yy21:
368 yych = *++data; 469 yych = *++data;
369 if (yych == 'r') goto yy28; 470 if (yych == 'r') goto yy28;
370 goto yy11; 471 goto yy11;
371yy22: 472yy22:
372 yych = *++data; 473 yych = *++data;
373 if (yych == 'f') goto yy29; 474 if (yych == 'f') goto yy29;
374 goto yy11; 475 goto yy11;
375yy23: 476yy23:
376 yych = *++data; 477 yych = *++data;
377 if (yych == 'g') goto yy30; 478 if (yych == 'g') goto yy30;
378 goto yy11; 479 goto yy11;
379yy24: 480yy24:
380 yych = *++data; 481 yych = *++data;
381 if (yych == 'r') goto yy31; 482 if (yych == 'r') goto yy31;
382 goto yy11; 483 goto yy11;
383yy25: 484yy25:
384 yych = *++data; 485 yych = *++data;
385 if (yych == '\t') goto yy32; 486 if (yych == '\t') goto yy32;
386 if (yych == ' ') goto yy32; 487 if (yych == ' ') goto yy32;
387 goto yy11; 488 goto yy11;
388yy26: 489yy26:
389 yych = *++data; 490 yych = *++data;
390 if (yych == 'd') goto yy33; 491 if (yych == 'd') goto yy33;
391 goto yy11; 492 goto yy11;
392yy27: 493yy27:
393 yych = *++data; 494 yych = *++data;
394 if (yych == '_') goto yy34; 495 if (yych == '_') goto yy34;
395 goto yy11; 496 goto yy11;
396yy28: 497yy28:
397 yych = *++data; 498 yych = *++data;
398 if (yych == '"') goto yy11; 499 if (yych == '"') goto yy11;
399 if (yych == 'o') goto yy37; 500 if (yych == 'o') goto yy37;
400 goto yy36; 501 goto yy36;
401yy29: 502yy29:
402 yych = *++data; 503 yych = *++data;
403 if (yych != 'o') goto yy11; 504 if (yych != 'o') goto yy11;
404yy30: 505yy30:
405 yych = *++data; 506 yych = *++data;
406 if (yych == '"') goto yy11; 507 if (yych == '"') goto yy11;
407 goto yy39; 508 goto yy39;
408yy31: 509yy31:
409 yych = *++data; 510 yych = *++data;
410 if (yych == 'n') goto yy40; 511 if (yych == 'n') goto yy40;
411 goto yy11; 512 goto yy11;
412yy32: 513yy32:
413 yych = *++data; 514 yych = *++data;
414 if (yych <= ' ') { 515 if (yych <= ' ') {
415 if (yych == '\t') goto yy32; 516 if (yych == '\t') goto yy32;
416 if (yych <= 0x1F) goto yy11; 517 if (yych <= 0x1F) goto yy11;
417 goto yy32; 518 goto yy32;
519 } else {
520 if (yych <= 'Z') {
521 if (yych <= '@') goto yy11;
522 yyt1 = data;
523 goto yy41;
418 } else { 524 } else {
419 if (yych <= 'Z') { 525 if (yych <= '`') goto yy11;
420 if (yych <= '@') goto yy11; 526 if (yych <= 'z') {
421 yyt1 = data; 527 yyt1 = data;
422 goto yy41; 528 goto yy41;
423 } else {
424 if (yych <= '`') goto yy11;
425 if (yych <= 'z') {
426 yyt1 = data;
427 goto yy41;
428 }
429 goto yy11;
430 } 529 }
530 goto yy11;
431 } 531 }
532 }
432yy33: 533yy33:
433 yych = *++data; 534 yych = *++data;
434 if (yych == 'i') goto yy42; 535 if (yych == 'i') goto yy42;
435 goto yy11; 536 goto yy11;
436yy34: 537yy34:
437 yych = *++data; 538 yych = *++data;
438 if (yych == 'c') goto yy43; 539 if (yych == 'c') goto yy43;
439 goto yy11; 540 goto yy11;
440yy35: 541yy35:
441 yych = *++data; 542 yych = *++data;
442yy36: 543yy36:
443 if (yych <= 0x1F) { 544 if (yych <= 0x1F) {
444 if (yych == '\t') goto yy35; 545 if (yych == '\t') goto yy35;
445 goto yy11; 546 goto yy11;
446 } else { 547 } else {
447 if (yych <= ' ') goto yy35; 548 if (yych <= ' ') goto yy35;
448 if (yych == '"') { 549 if (yych == '"') {
449 yyt1 = data; 550 yyt1 = data;
450 goto yy44; 551 goto yy44;
451 }
452 goto yy11;
453 } 552 }
454yy37:
455 yych = *++data;
456 if (yych == 'r') goto yy45;
457 goto yy11; 553 goto yy11;
554 }
555yy37:
556 yych = *++data;
557 if (yych == 'r') goto yy45;
558 goto yy11;
458yy38: 559yy38:
459 yych = *++data; 560 yych = *++data;
460yy39: 561yy39:
461 if (yych <= 0x1F) { 562 if (yych <= 0x1F) {
462 if (yych == '\t') goto yy38; 563 if (yych == '\t') goto yy38;
463 goto yy11; 564 goto yy11;
464 } else { 565 } else {
465 if (yych <= ' ') goto yy38; 566 if (yych <= ' ') goto yy38;
466 if (yych == '"') { 567 if (yych == '"') {
467 yyt1 = data; 568 yyt1 = data;
468 goto yy46; 569 goto yy46;
469 }
470 goto yy11;
471 } 570 }
571 goto yy11;
572 }
472yy40: 573yy40:
473 yych = *++data; 574 yych = *++data;
474 if (yych == '"') goto yy11; 575 if (yych == '"') goto yy11;
475 if (yych == 'i') goto yy49; 576 if (yych == 'i') goto yy49;
476 goto yy48; 577 goto yy48;
477yy41: 578yy41:
478 yych = *++data; 579 yych = *++data;
479 if (yybm[0+yych] & 32) { 580 if (yybm_init[0+yych] & 32) {
480 goto yy41; 581 goto yy41;
481 } 582 }
482 if (yych == '\t') { 583 if (yych == '\t') {
483 yyt2 = data; 584 yyt2 = data;
484 goto yy50; 585 goto yy50;
485 } 586 }
486 if (yych == ' ') { 587 if (yych == ' ') {
487 yyt2 = data; 588 yyt2 = data;
488 goto yy50; 589 goto yy50;
489 } 590 }
490 goto yy11; 591 goto yy11;
491yy42: 592yy42:
492 yych = *++data; 593 yych = *++data;
493 if (yych == 't') goto yy51; 594 if (yych == 't') goto yy51;
494 goto yy11; 595 goto yy11;
495yy43: 596yy43:
496 yych = *++data; 597 yych = *++data;
497 if (yych == 'o') goto yy52; 598 if (yych == 'o') goto yy52;
498 goto yy11; 599 goto yy11;
499yy44: 600yy44:
500 yych = *++data; 601 yych = *++data;
501 if (yybm[0+yych] & 64) { 602 if (yybm_init[0+yych] & 64) {
502 goto yy44; 603 goto yy44;
503 } 604 }
504 if (yych <= '\r') goto yy11; 605 if (yych <= '\r') goto yy11;
505 if (yych <= '"') goto yy53; 606 if (yych <= '"') goto yy53;
506 goto yy54; 607 goto yy54;
507yy45: 608yy45:
508 yych = *++data; 609 yych = *++data;
509 if (yych == '"') goto yy11; 610 if (yych == '"') goto yy11;
510 goto yy36; 611 goto yy36;
511yy46: 612yy46:
512 yych = *++data; 613 yych = *++data;
513 if (yych <= '\r') { 614 if (yych <= '\r') {
514 if (yych <= '\t') { 615 if (yych <= '\t') {
515 if (yych <= 0x00) goto yy11; 616 if (yych <= 0x00) goto yy11;
516 goto yy46; 617 goto yy46;
517 } else {
518 if (yych <= '\n') goto yy11;
519 if (yych <= '\f') goto yy46;
520 goto yy11;
521 }
522 } else { 618 } else {
523 if (yych <= '"') { 619 if (yych <= '\n') goto yy11;
524 if (yych <= '!') goto yy46; 620 if (yych <= '\f') goto yy46;
525 goto yy55; 621 goto yy11;
526 } else { 622 }
527 if (yych == '\\') goto yy56; 623 } else {
528 goto yy46; 624 if (yych <= '"') {
529 } 625 if (yych <= '!') goto yy46;
626 goto yy55;
627 } else {
628 if (yych == '\\') goto yy56;
629 goto yy46;
530 } 630 }
631 }
531yy47: 632yy47:
532 yych = *++data; 633 yych = *++data;
533yy48: 634yy48:
534 if (yych <= 0x1F) { 635 if (yych <= 0x1F) {
535 if (yych == '\t') goto yy47; 636 if (yych == '\t') goto yy47;
536 goto yy11; 637 goto yy11;
537 } else { 638 } else {
538 if (yych <= ' ') goto yy47; 639 if (yych <= ' ') goto yy47;
539 if (yych == '"') { 640 if (yych == '"') {
540 yyt1 = data; 641 yyt1 = data;
541 goto yy57; 642 goto yy57;
542 }
543 goto yy11;
544 } 643 }
545yy49:
546 yych = *++data;
547 if (yych == 'n') goto yy58;
548 goto yy11; 644 goto yy11;
645 }
646yy49:
647 yych = *++data;
648 if (yych == 'n') goto yy58;
649 goto yy11;
549yy50: 650yy50:
550 yych = *++data; 651 yych = *++data;
551 if (yych <= 0x1F) { 652 if (yych <= 0x1F) {
552 if (yych == '\t') goto yy50; 653 if (yych == '\t') goto yy50;
553 goto yy11; 654 goto yy11;
554 } else { 655 } else {
555 if (yych <= ' ') goto yy50; 656 if (yych <= ' ') goto yy50;
556 if (yych == '"') { 657 if (yych == '"') {
557 yyt3 = data; 658 yyt3 = data;
558 goto yy59; 659 goto yy59;
559 }
560 goto yy11;
561 } 660 }
562yy51:
563 yych = *++data;
564 if (yych == 'i') goto yy60;
565 goto yy11; 661 goto yy11;
662 }
663yy51:
664 yych = *++data;
665 if (yych == 'i') goto yy60;
666 goto yy11;
566yy52: 667yy52:
567 yych = *++data; 668 yych = *++data;
568 if (yych == 'n') goto yy61; 669 if (yych == 'n') goto yy61;
569 goto yy11; 670 goto yy11;
570yy53: 671yy53:
571 yych = *++data; 672 yych = *++data;
572 if (yych == ';') goto yy62; 673 if (yych == ';') goto yy62;
573 goto yy11; 674 goto yy11;
574yy54: 675yy54:
575 yych = *++data; 676 yych = *++data;
576 if (yybm[0+yych] & 64) { 677 if (yybm_init[0+yych] & 64) {
577 goto yy44; 678 goto yy44;
578 } 679 }
579 if (yych <= '\r') goto yy11; 680 if (yych <= '\r') goto yy11;
580 if (yych <= '"') goto yy64; 681 if (yych <= '"') goto yy64;
581 goto yy54; 682 goto yy54;
582yy55: 683yy55:
583 yych = *++data; 684 yych = *++data;
584 if (yych == ';') goto yy65; 685 if (yych == ';') goto yy65;
585 goto yy11; 686 goto yy11;
586yy56: 687yy56:
587 yych = *++data; 688 yych = *++data;
588 if (yych <= '\r') { 689 if (yych <= '\r') {
589 if (yych <= '\t') { 690 if (yych <= '\t') {
590 if (yych <= 0x00) goto yy11; 691 if (yych <= 0x00) goto yy11;
591 goto yy46; 692 goto yy46;
592 } else {
593 if (yych <= '\n') goto yy11;
594 if (yych <= '\f') goto yy46;
595 goto yy11;
596 }
597 } else { 693 } else {
598 if (yych <= '"') { 694 if (yych <= '\n') goto yy11;
599 if (yych <= '!') goto yy46; 695 if (yych <= '\f') goto yy46;
600 goto yy67; 696 goto yy11;
601 } else { 697 }
602 if (yych == '\\') goto yy56; 698 } else {
603 goto yy46; 699 if (yych <= '"') {
604 } 700 if (yych <= '!') goto yy46;
701 goto yy67;
702 } else {
703 if (yych == '\\') goto yy56;
704 goto yy46;
605 } 705 }
706 }
606yy57: 707yy57:
607 yych = *++data; 708 yych = *++data;
608 if (yych <= '\r') { 709 if (yych <= '\r') {
609 if (yych <= '\t') { 710 if (yych <= '\t') {
610 if (yych <= 0x00) goto yy11; 711 if (yych <= 0x00) goto yy11;
611 goto yy57; 712 goto yy57;
612 } else {
613 if (yych <= '\n') goto yy11;
614 if (yych <= '\f') goto yy57;
615 goto yy11;
616 }
617 } else { 713 } else {
618 if (yych <= '"') { 714 if (yych <= '\n') goto yy11;
619 if (yych <= '!') goto yy57; 715 if (yych <= '\f') goto yy57;
620 goto yy68; 716 goto yy11;
621 } else { 717 }
622 if (yych == '\\') goto yy69; 718 } else {
623 goto yy57; 719 if (yych <= '"') {
624 } 720 if (yych <= '!') goto yy57;
721 goto yy68;
722 } else {
723 if (yych == '\\') goto yy69;
724 goto yy57;
625 } 725 }
726 }
626yy58: 727yy58:
627 yych = *++data; 728 yych = *++data;
628 if (yych == 'g') goto yy70; 729 if (yych == 'g') goto yy70;
629 goto yy11; 730 goto yy11;
630yy59: 731yy59:
631 yych = *++data; 732 yych = *++data;
632 if (yych <= '\r') { 733 if (yych <= '\r') {
633 if (yych <= '\t') { 734 if (yych <= '\t') {
634 if (yych <= 0x00) goto yy11; 735 if (yych <= 0x00) goto yy11;
635 goto yy59; 736 goto yy59;
636 } else {
637 if (yych <= '\n') goto yy11;
638 if (yych <= '\f') goto yy59;
639 goto yy11;
640 }
641 } else { 737 } else {
642 if (yych <= '"') { 738 if (yych <= '\n') goto yy11;
643 if (yych <= '!') goto yy59; 739 if (yych <= '\f') goto yy59;
644 goto yy71; 740 goto yy11;
645 } else { 741 }
646 if (yych == '\\') goto yy72; 742 } else {
647 goto yy59; 743 if (yych <= '"') {
648 } 744 if (yych <= '!') goto yy59;
745 goto yy71;
746 } else {
747 if (yych == '\\') goto yy72;
748 goto yy59;
649 } 749 }
750 }
650yy60: 751yy60:
651 yych = *++data; 752 yych = *++data;
652 if (yych == 'o') goto yy73; 753 if (yych == 'o') goto yy73;
653 goto yy11; 754 goto yy11;
654yy61: 755yy61:
655 yych = *++data; 756 yych = *++data;
656 if (yych == 'd') goto yy74; 757 if (yych == 'd') goto yy74;
657 goto yy11; 758 goto yy11;
658yy62: 759yy62:
659 ++data; 760 ++data;
660yy63: 761yy63:
661 t1 = yyt1; 762 t1 = yyt1;
662 t2 = data - 1; 763 t2 = data - 1;
663 { 764 {
664 if (!cond_res[0]) { goto yyc_init; } 765 if (!cond_res[0]) { goto yyc_init; }
665 TMPSTR(tmpstr, t2, t1); 766 TMPSTR(tmpstr, t2, t1);
666 cs_log_error("[line %d]: %s", lineno, tmpstr); 767 cs_log_error("[line %zu]: %s", lineno, tmpstr);
667 goto out; 768 goto out;
668 } 769 }
669yy64: 770yy64:
670 yych = *++data; 771 yych = *++data;
671 if (yybm[0+yych] & 128) { 772 if (yybm_init[0+yych] & 128) {
672 goto yy54; 773 goto yy54;
774 }
775 if (yych <= '\r') {
776 if (yych <= '\t') {
777 if (yych <= 0x00) goto yy11;
778 goto yy44;
779 } else {
780 if (yych <= '\n') goto yy11;
781 if (yych <= '\f') goto yy44;
782 goto yy11;
673 } 783 }
674 if (yych <= '\r') { 784 } else {
675 if (yych <= '\t') { 785 if (yych <= '"') {
676 if (yych <= 0x00) goto yy11; 786 if (yych <= '!') goto yy44;
677 goto yy44; 787 goto yy53;
678 } else {
679 if (yych <= '\n') goto yy11;
680 if (yych <= '\f') goto yy44;
681 goto yy11;
682 }
683 } else { 788 } else {
684 if (yych <= '"') { 789 if (yych == ';') goto yy75;
685 if (yych <= '!') goto yy44; 790 goto yy44;
686 goto yy53;
687 } else {
688 if (yych == ';') goto yy75;
689 goto yy44;
690 }
691 } 791 }
792 }
692yy65: 793yy65:
693 ++data; 794 ++data;
694yy66: 795yy66:
695 t1 = yyt1; 796 t1 = yyt1;
696 t2 = data - 1; 797 t2 = data - 1;
697 { 798 {
698 if (!cond_res[0]) { goto yyc_init; } 799 if (!cond_res[0]) { goto yyc_init; }
699 TMPSTR(tmpstr, t2, t1); 800 TMPSTR(tmpstr, t2, t1);
700 cs_log_info("[line %d]: %s", lineno, tmpstr); 801 cs_log_info("[line %zu]: %s", lineno, tmpstr);
701 goto yyc_init; 802 goto yyc_init;
702 } 803 }
703yy67: 804yy67:
704 yych = *++data; 805 yych = *++data;
705 if (yych <= '!') { 806 if (yych <= '!') {
706 if (yych <= '\n') { 807 if (yych <= '\n') {
707 if (yych <= 0x00) goto yy11; 808 if (yych <= 0x00) goto yy11;
708 if (yych <= '\t') goto yy46; 809 if (yych <= '\t') goto yy46;
709 goto yy11; 810 goto yy11;
710 } else {
711 if (yych == '\r') goto yy11;
712 goto yy46;
713 }
714 } else { 811 } else {
715 if (yych <= ';') { 812 if (yych == '\r') goto yy11;
716 if (yych <= '"') goto yy55; 813 goto yy46;
717 if (yych <= ':') goto yy46; 814 }
718 goto yy76; 815 } else {
719 } else { 816 if (yych <= ';') {
720 if (yych == '\\') goto yy56; 817 if (yych <= '"') goto yy55;
721 goto yy46; 818 if (yych <= ':') goto yy46;
722 } 819 goto yy76;
820 } else {
821 if (yych == '\\') goto yy56;
822 goto yy46;
723 } 823 }
824 }
724yy68: 825yy68:
725 yych = *++data; 826 yych = *++data;
726 if (yych == ';') goto yy77; 827 if (yych == ';') goto yy77;
727 goto yy11; 828 goto yy11;
728yy69: 829yy69:
729 yych = *++data; 830 yych = *++data;
730 if (yych <= '\r') { 831 if (yych <= '\r') {
731 if (yych <= '\t') { 832 if (yych <= '\t') {
732 if (yych <= 0x00) goto yy11; 833 if (yych <= 0x00) goto yy11;
733 goto yy57; 834 goto yy57;
734 } else {
735 if (yych <= '\n') goto yy11;
736 if (yych <= '\f') goto yy57;
737 goto yy11;
738 }
739 } else { 835 } else {
740 if (yych <= '"') { 836 if (yych <= '\n') goto yy11;
741 if (yych <= '!') goto yy57; 837 if (yych <= '\f') goto yy57;
742 goto yy79; 838 goto yy11;
743 } else {
744 if (yych == '\\') goto yy69;
745 goto yy57;
746 }
747 } 839 }
840 } else {
841 if (yych <= '"') {
842 if (yych <= '!') goto yy57;
843 goto yy79;
844 } else {
845 if (yych == '\\') goto yy69;
846 goto yy57;
847 }
848 }
748yy70: 849yy70:
749 yych = *++data; 850 yych = *++data;
750 if (yych == '"') goto yy11; 851 if (yych == '"') goto yy11;
751 goto yy48; 852 goto yy48;
752yy71: 853yy71:
753 yych = *++data; 854 yych = *++data;
754 if (yych <= 0x1F) { 855 if (yych <= 0x1F) {
755 if (yych == '\t') { 856 if (yych == '\t') {
756 yyt5 = data; 857 yyt5 = data;
757 goto yy80; 858 goto yy80;
758 } 859 }
759 goto yy11; 860 goto yy11;
861 } else {
862 if (yych <= ' ') {
863 yyt5 = data;
864 goto yy80;
865 }
866 if (yych == ';') {
867 yyt5 = data;
868 goto yy81;
869 }
870 goto yy11;
871 }
872yy72:
873 yych = *++data;
874 if (yych <= '\r') {
875 if (yych <= '\t') {
876 if (yych <= 0x00) goto yy11;
877 goto yy59;
760 } else { 878 } else {
761 if (yych <= ' ') { 879 if (yych <= '\n') goto yy11;
762 yyt5 = data; 880 if (yych <= '\f') goto yy59;
763 goto yy80;
764 }
765 if (yych == ';') {
766 yyt5 = data;
767 goto yy81;
768 }
769 goto yy11; 881 goto yy11;
770 } 882 }
771yy72: 883 } else {
772 yych = *++data; 884 if (yych <= '"') {
773 if (yych <= '\r') { 885 if (yych <= '!') goto yy59;
774 if (yych <= '\t') { 886 goto yy83;
775 if (yych <= 0x00) goto yy11;
776 goto yy59;
777 } else {
778 if (yych <= '\n') goto yy11;
779 if (yych <= '\f') goto yy59;
780 goto yy11;
781 }
782 } else { 887 } else {
783 if (yych <= '"') { 888 if (yych == '\\') goto yy72;
784 if (yych <= '!') goto yy59; 889 goto yy59;
785 goto yy83;
786 } else {
787 if (yych == '\\') goto yy72;
788 goto yy59;
789 }
790 } 890 }
891 }
791yy73: 892yy73:
792 yych = *++data; 893 yych = *++data;
793 if (yych == 'n') goto yy84; 894 if (yych == 'n') goto yy84;
794 goto yy11; 895 goto yy11;
795yy74: 896yy74:
796 yych = *++data; 897 yych = *++data;
797 if (yych == 'i') goto yy85; 898 if (yych == 'i') goto yy85;
798 goto yy11; 899 goto yy11;
799yy75: 900yy75:
800 yyaccept = 1; 901 yyaccept = 1;
801 yych = *(YYMARKER = ++data); 902 yych = *(YYMARKER = ++data);
802 if (yybm[0+yych] & 64) { 903 if (yybm_init[0+yych] & 64) {
803 goto yy44; 904 goto yy44;
804 } 905 }
805 if (yych <= '\r') goto yy63; 906 if (yych <= '\r') goto yy63;
806 if (yych <= '"') goto yy53; 907 if (yych <= '"') goto yy53;
807 goto yy54; 908 goto yy54;
808yy76: 909yy76:
809 yyaccept = 2; 910 yyaccept = 2;
810 yych = *(YYMARKER = ++data); 911 yych = *(YYMARKER = ++data);
811 if (yych <= '\r') { 912 if (yych <= '\r') {
812 if (yych <= '\t') { 913 if (yych <= '\t') {
813 if (yych <= 0x00) goto yy66; 914 if (yych <= 0x00) goto yy66;
814 goto yy46; 915 goto yy46;
815 } else {
816 if (yych <= '\n') goto yy66;
817 if (yych <= '\f') goto yy46;
818 goto yy66;
819 }
820 } else { 916 } else {
821 if (yych <= '"') { 917 if (yych <= '\n') goto yy66;
822 if (yych <= '!') goto yy46; 918 if (yych <= '\f') goto yy46;
823 goto yy55; 919 goto yy66;
824 } else {
825 if (yych == '\\') goto yy56;
826 goto yy46;
827 }
828 } 920 }
921 } else {
922 if (yych <= '"') {
923 if (yych <= '!') goto yy46;
924 goto yy55;
925 } else {
926 if (yych == '\\') goto yy56;
927 goto yy46;
928 }
929 }
829yy77: 930yy77:
830 ++data; 931 ++data;
831yy78: 932yy78:
832 t1 = yyt1; 933 t1 = yyt1;
833 t2 = data - 1; 934 t2 = data - 1;
834 { 935 {
835 if (!cond_res[0]) { goto yyc_init; } 936 if (!cond_res[0]) { goto yyc_init; }
836 TMPSTR(tmpstr, t2, t1); 937 TMPSTR(tmpstr, t2, t1);
837 cs_log_warning("[line %d]: %s", lineno, tmpstr); 938 cs_log_warning("[line %zu]: %s", lineno, tmpstr);
838 goto yyc_init; 939 goto yyc_init;
839 } 940 }
840yy79: 941yy79:
841 yych = *++data; 942 yych = *++data;
842 if (yych <= '!') { 943 if (yych <= '!') {
843 if (yych <= '\n') { 944 if (yych <= '\n') {
844 if (yych <= 0x00) goto yy11; 945 if (yych <= 0x00) goto yy11;
845 if (yych <= '\t') goto yy57; 946 if (yych <= '\t') goto yy57;
846 goto yy11; 947 goto yy11;
847 } else {
848 if (yych == '\r') goto yy11;
849 goto yy57;
850 }
851 } else { 948 } else {
852 if (yych <= ';') { 949 if (yych == '\r') goto yy11;
853 if (yych <= '"') goto yy68; 950 goto yy57;
854 if (yych <= ':') goto yy57;
855 goto yy86;
856 } else {
857 if (yych == '\\') goto yy69;
858 goto yy57;
859 }
860 } 951 }
861yy80: 952 } else {
862 yych = *++data; 953 if (yych <= ';') {
863 if (yych <= 0x1F) { 954 if (yych <= '"') goto yy68;
864 if (yych == '\t') goto yy80; 955 if (yych <= ':') goto yy57;
865 goto yy11; 956 goto yy86;
866 } else { 957 } else {
867 if (yych <= ' ') goto yy80; 958 if (yych == '\\') goto yy69;
868 if (yych != ';') goto yy11; 959 goto yy57;
869 } 960 }
961 }
962yy80:
963 yych = *++data;
964 if (yych <= 0x1F) {
965 if (yych == '\t') goto yy80;
966 goto yy11;
967 } else {
968 if (yych <= ' ') goto yy80;
969 if (yych != ';') goto yy11;
970 }
870yy81: 971yy81:
871 ++data; 972 ++data;
872 yyt4 = yyt5; 973 yyt4 = yyt5;
873yy82: 974yy82:
874 t1 = yyt1; 975 t1 = yyt1;
875 t2 = yyt2; 976 t2 = yyt2;
876 t3 = yyt3; 977 t3 = yyt3;
877 t4 = yyt4; 978 t4 = yyt4;
878 { 979 {
879 if (!cond_res[0]) { goto yyc_init; } 980 if (!cond_res[0]) { goto yyc_init; }
880 char *key = (char*)t1; 981 const char *key = t1;
881 int keylen = t2 - t1; 982 size_t keylen = t2 - t1;
882 zend_string *tmp = zend_hash_str_find_ptr(&vars, key, keylen); 983 zend_string *tmp = zend_hash_str_find_ptr(&vars, key, keylen);
883 if (tmp) { 984 if (tmp) {
884 zend_hash_str_del(&vars, key, keylen); 985 zend_hash_str_del(&vars, key, keylen);
@@ -888,463 +989,391 @@ yy82:
888 goto yyc_init; 989 goto yyc_init;
889 } 990 }
890yy83: 991yy83:
891 yych = *++data; 992 yych = *++data;
892 if (yych <= 0x1F) { 993 if (yych <= 0x1F) {
893 if (yych <= '\t') { 994 if (yych <= '\t') {
894 if (yych <= 0x00) goto yy11; 995 if (yych <= 0x00) goto yy11;
895 if (yych <= 0x08) goto yy59; 996 if (yych <= 0x08) goto yy59;
997 yyt5 = data;
998 goto yy87;
999 } else {
1000 if (yych <= '\n') goto yy11;
1001 if (yych == '\r') goto yy11;
1002 goto yy59;
1003 }
1004 } else {
1005 if (yych <= ':') {
1006 if (yych <= ' ') {
896 yyt5 = data; 1007 yyt5 = data;
897 goto yy87; 1008 goto yy87;
898 } else {
899 if (yych <= '\n') goto yy11;
900 if (yych == '\r') goto yy11;
901 goto yy59;
902 } 1009 }
1010 if (yych == '"') goto yy71;
1011 goto yy59;
903 } else { 1012 } else {
904 if (yych <= ':') { 1013 if (yych <= ';') {
905 if (yych <= ' ') { 1014 yyt5 = data;
906 yyt5 = data; 1015 goto yy88;
907 goto yy87;
908 }
909 if (yych == '"') goto yy71;
910 goto yy59;
911 } else {
912 if (yych <= ';') {
913 yyt5 = data;
914 goto yy88;
915 }
916 if (yych == '\\') goto yy72;
917 goto yy59;
918 } 1016 }
1017 if (yych == '\\') goto yy72;
1018 goto yy59;
919 } 1019 }
1020 }
920yy84: 1021yy84:
921 yych = *++data; 1022 yych = *++data;
922 if (yych == '\t') goto yy89; 1023 if (yych == '\t') goto yy89;
923 if (yych == ' ') goto yy89; 1024 if (yych == ' ') goto yy89;
924 goto yy11; 1025 goto yy11;
925yy85: 1026yy85:
926 yych = *++data; 1027 yych = *++data;
927 if (yych == 't') goto yy90; 1028 if (yych == 't') goto yy90;
928 goto yy11; 1029 goto yy11;
929yy86: 1030yy86:
930 yyaccept = 3; 1031 yyaccept = 3;
931 yych = *(YYMARKER = ++data); 1032 yych = *(YYMARKER = ++data);
932 if (yych <= '\r') { 1033 if (yych <= '\r') {
933 if (yych <= '\t') { 1034 if (yych <= '\t') {
934 if (yych <= 0x00) goto yy78; 1035 if (yych <= 0x00) goto yy78;
935 goto yy57; 1036 goto yy57;
936 } else {
937 if (yych <= '\n') goto yy78;
938 if (yych <= '\f') goto yy57;
939 goto yy78;
940 }
941 } else { 1037 } else {
942 if (yych <= '"') { 1038 if (yych <= '\n') goto yy78;
943 if (yych <= '!') goto yy57; 1039 if (yych <= '\f') goto yy57;
944 goto yy68; 1040 goto yy78;
945 } else { 1041 }
946 if (yych == '\\') goto yy69; 1042 } else {
947 goto yy57; 1043 if (yych <= '"') {
948 } 1044 if (yych <= '!') goto yy57;
1045 goto yy68;
1046 } else {
1047 if (yych == '\\') goto yy69;
1048 goto yy57;
949 } 1049 }
1050 }
950yy87: 1051yy87:
951 yych = *++data; 1052 yych = *++data;
952 if (yych <= 0x1F) { 1053 if (yych <= 0x1F) {
953 if (yych <= '\t') { 1054 if (yych <= '\t') {
954 if (yych <= 0x00) goto yy11; 1055 if (yych <= 0x00) goto yy11;
955 if (yych <= 0x08) goto yy59; 1056 if (yych <= 0x08) goto yy59;
956 goto yy87; 1057 goto yy87;
957 } else {
958 if (yych <= '\n') goto yy11;
959 if (yych == '\r') goto yy11;
960 goto yy59;
961 }
962 } else { 1058 } else {
963 if (yych <= ':') { 1059 if (yych <= '\n') goto yy11;
964 if (yych <= ' ') goto yy87; 1060 if (yych == '\r') goto yy11;
965 if (yych == '"') goto yy71; 1061 goto yy59;
966 goto yy59; 1062 }
967 } else { 1063 } else {
968 if (yych <= ';') goto yy88; 1064 if (yych <= ':') {
969 if (yych == '\\') goto yy72; 1065 if (yych <= ' ') goto yy87;
970 goto yy59; 1066 if (yych == '"') goto yy71;
971 } 1067 goto yy59;
1068 } else {
1069 if (yych <= ';') goto yy88;
1070 if (yych == '\\') goto yy72;
1071 goto yy59;
972 } 1072 }
1073 }
973yy88: 1074yy88:
974 yyaccept = 4; 1075 yyaccept = 4;
975 yych = *(YYMARKER = ++data); 1076 yych = *(YYMARKER = ++data);
976 yyt4 = yyt5; 1077 yyt4 = yyt5;
977 if (yych <= '\r') { 1078 if (yych <= '\r') {
978 if (yych <= '\t') { 1079 if (yych <= '\t') {
979 if (yych <= 0x00) goto yy82; 1080 if (yych <= 0x00) goto yy82;
980 goto yy59; 1081 goto yy59;
981 } else {
982 if (yych <= '\n') goto yy82;
983 if (yych <= '\f') goto yy59;
984 goto yy82;
985 }
986 } else { 1082 } else {
987 if (yych <= '"') { 1083 if (yych <= '\n') goto yy82;
988 if (yych <= '!') goto yy59; 1084 if (yych <= '\f') goto yy59;
989 goto yy71; 1085 goto yy82;
990 } else { 1086 }
991 if (yych == '\\') goto yy72; 1087 } else {
992 goto yy59; 1088 if (yych <= '"') {
993 } 1089 if (yych <= '!') goto yy59;
1090 goto yy71;
1091 } else {
1092 if (yych == '\\') goto yy72;
1093 goto yy59;
994 } 1094 }
1095 }
995yy89: 1096yy89:
996 yych = *++data; 1097 yych = *++data;
997 if (yych == '\t') goto yy89; 1098 if (yych == '\t') goto yy89;
998 if (yych == ' ') goto yy89; 1099 if (yych == ' ') goto yy89;
999 { cond_res_i = 0; goto yyc_cond; } 1100 { cond_res_i = 0; goto yyc_cond; }
1000yy90: 1101yy90:
1001 yych = *++data; 1102 yych = *++data;
1002 if (yych != 'i') goto yy11; 1103 if (yych != 'i') goto yy11;
1003 yych = *++data; 1104 yych = *++data;
1004 if (yych != 'o') goto yy11; 1105 if (yych != 'o') goto yy11;
1005 yych = *++data; 1106 yych = *++data;
1006 if (yych != 'n') goto yy11; 1107 if (yych != 'n') goto yy11;
1007yy91: 1108yy91:
1008 yych = *++data; 1109 yych = *++data;
1009 if (yych <= 0x1F) { 1110 if (yych <= 0x1F) {
1010 if (yych == '\t') goto yy91; 1111 if (yych == '\t') goto yy91;
1011 goto yy11; 1112 goto yy11;
1012 } else { 1113 } else {
1013 if (yych <= ' ') goto yy91; 1114 if (yych <= ' ') goto yy91;
1014 if (yych != ';') goto yy11; 1115 if (yych != ';') goto yy11;
1015 }
1016 ++data;
1017 { cond_res[0] = 1; cond_res_i = 0; goto yyc_init; }
1018 } 1116 }
1117 ++data;
1118 { cond_res[0] = 1; cond_res_i = 0; goto yyc_init; }
1019/* *********************************** */ 1119/* *********************************** */
1020yyc_cond: 1120yyc_cond:
1021 { 1121 yych = *data;
1022 static const unsigned char yybm[] = { 1122 if (yybm_cond[0+yych] & 8) {
1023 0, 64, 64, 64, 64, 64, 64, 64, 1123 goto yy95;
1024 64, 72, 0, 64, 64, 0, 64, 64, 1124 }
1025 64, 64, 64, 64, 64, 64, 64, 64, 1125 if (yych <= '\'') {
1026 64, 64, 64, 64, 64, 64, 64, 64, 1126 if (yych <= '\f') {
1027 72, 64, 0, 64, 64, 64, 64, 64, 1127 if (yych <= 0x08) goto yy93;
1028 64, 64, 64, 64, 64, 64, 64, 64, 1128 if (yych <= '\n') goto yy96;
1029 112, 112, 112, 112, 112, 112, 112, 112, 1129 } else {
1030 112, 112, 64, 64, 64, 64, 64, 64, 1130 if (yych <= '\r') goto yy97;
1031 64, 96, 96, 96, 96, 96, 96, 96, 1131 if (yych <= 0x1F) goto yy93;
1032 96, 96, 96, 96, 96, 96, 96, 96, 1132 if (yych <= '!') goto yy98;
1033 96, 96, 96, 96, 96, 96, 96, 96,
1034 96, 96, 96, 64, 128, 64, 64, 96,
1035 64, 96, 96, 96, 96, 96, 96, 96,
1036 96, 96, 96, 96, 96, 96, 96, 96,
1037 96, 96, 96, 96, 96, 96, 96, 96,
1038 96, 96, 96, 64, 64, 64, 64, 64,
1039 64, 64, 64, 64, 64, 64, 64, 64,
1040 64, 64, 64, 64, 64, 64, 64, 64,
1041 64, 64, 64, 64, 64, 64, 64, 64,
1042 64, 64, 64, 64, 64, 64, 64, 64,
1043 64, 64, 64, 64, 64, 64, 64, 64,
1044 64, 64, 64, 64, 64, 64, 64, 64,
1045 64, 64, 64, 64, 64, 64, 64, 64,
1046 64, 64, 64, 64, 64, 64, 64, 64,
1047 64, 64, 64, 64, 64, 64, 64, 64,
1048 64, 64, 64, 64, 64, 64, 64, 64,
1049 64, 64, 64, 64, 64, 64, 64, 64,
1050 64, 64, 64, 64, 64, 64, 64, 64,
1051 64, 64, 64, 64, 64, 64, 64, 64,
1052 64, 64, 64, 64, 64, 64, 64, 64,
1053 64, 64, 64, 64, 64, 64, 64, 64,
1054 64, 64, 64, 64, 64, 64, 64, 64,
1055 };
1056 yych = *data;
1057 if (yybm[0+yych] & 8) {
1058 goto yy95;
1059 } 1133 }
1060 if (yych <= '\'') { 1134 } else {
1061 if (yych <= '\f') { 1135 if (yych <= '@') {
1062 if (yych <= 0x08) goto yy93; 1136 if (yych <= '(') goto yy99;
1063 if (yych <= '\n') goto yy96; 1137 if (yych <= '/') goto yy93;
1064 } else { 1138 if (yych <= '9') {
1065 if (yych <= '\r') goto yy97; 1139 yyt1 = data;
1066 if (yych <= 0x1F) goto yy93; 1140 goto yy100;
1067 if (yych <= '!') goto yy98;
1068 } 1141 }
1069 } else { 1142 } else {
1070 if (yych <= '@') { 1143 if (yych <= 'Z') {
1071 if (yych <= '(') goto yy99; 1144 yyt1 = data;
1072 if (yych <= '/') goto yy93; 1145 goto yy101;
1073 if (yych <= '9') { 1146 }
1074 yyt1 = data; 1147 if (yych <= '`') goto yy93;
1075 goto yy100; 1148 if (yych <= 'z') {
1076 } 1149 yyt1 = data;
1077 } else { 1150 goto yy101;
1078 if (yych <= 'Z') {
1079 yyt1 = data;
1080 goto yy101;
1081 }
1082 if (yych <= '`') goto yy93;
1083 if (yych <= 'z') {
1084 yyt1 = data;
1085 goto yy101;
1086 }
1087 } 1151 }
1088 } 1152 }
1153 }
1089yy93: 1154yy93:
1090 ++data; 1155 ++data;
1091yy94: 1156yy94:
1092 { cs_log_error("syntax error in condition on line %d", lineno); goto out; } 1157 { cs_log_error("syntax error in condition on line %zu", lineno); goto out; }
1093yy95: 1158yy95:
1094 yych = *++data; 1159 yych = *++data;
1095 if (yybm[0+yych] & 8) { 1160 if (yybm_cond[0+yych] & 8) {
1096 goto yy95; 1161 goto yy95;
1097 } 1162 }
1098 { goto yyc_cond; } 1163 { goto yyc_cond; }
1099yy96: 1164yy96:
1100 ++data; 1165 ++data;
1101 { lineno++; goto yyc_cond; } 1166 { lineno++; goto yyc_cond; }
1102yy97: 1167yy97:
1103 yych = *++data; 1168 yych = *++data;
1104 if (yych == '\n') goto yy96; 1169 if (yych == '\n') goto yy96;
1105 goto yy94; 1170 goto yy94;
1106yy98: 1171yy98:
1107 ++data; 1172 ++data;
1108 t1 = data - 1; 1173 t1 = data - 1;
1109 { sy_op_push(*t1); goto yyc_cond; } 1174 { sy_op_push(*t1); goto yyc_cond; }
1110yy99: 1175yy99:
1111 ++data; 1176 ++data;
1112 t1 = data - 1; 1177 t1 = data - 1;
1113 { sy_op_push(*t1); goto yyc_cond; } 1178 { sy_op_push(*t1); goto yyc_cond; }
1114yy100: 1179yy100:
1115 yych = *++data; 1180 yych = *++data;
1116 if (yybm[0+yych] & 16) { 1181 if (yybm_cond[0+yych] & 16) {
1117 goto yy100; 1182 goto yy100;
1118 } 1183 }
1119 t1 = yyt1; 1184 t1 = yyt1;
1120 t2 = data; 1185 t2 = data;
1121 { sy_res_push(atoi(t1)); goto yyc_cond_op; } 1186 { sy_res_push(atoi(t1)); goto yyc_cond_op; }
1122yy101: 1187yy101:
1123 yyaccept = 0; 1188 yyaccept = 0;
1124 yych = *(YYMARKER = ++data); 1189 yych = *(YYMARKER = ++data);
1125 if (yybm[0+yych] & 32) { 1190 if (yybm_cond[0+yych] & 32) {
1126 goto yy101; 1191 goto yy101;
1127 } 1192 }
1128 if (yych == '(') goto yy103; 1193 if (yych == '(') goto yy103;
1129yy102: 1194yy102:
1130 t1 = yyt1; 1195 t1 = yyt1;
1131 t2 = data; 1196 t2 = data;
1132 { 1197 {
1133 zend_string *tmp = zend_hash_str_find_ptr(&vars, t1, t2-t1); 1198 zend_string *tmp = zend_hash_str_find_ptr(&vars, t1, t2-t1);
1134 if (!tmp) { 1199 if (!tmp) {
1135 cs_log_error("unknown variable in condition on line %d", lineno); 1200 cs_log_error("unknown variable in condition on line %zu", lineno);
1136 goto out; 1201 goto out;
1137 } 1202 }
1138 sy_res_push(atoi(ZSTR_VAL(tmp))); 1203 sy_res_push(atoi(ZSTR_VAL(tmp)));
1139 goto yyc_cond_op; 1204 goto yyc_cond_op;
1140 } 1205 }
1141yy103: 1206yy103:
1142 yych = *++data; 1207 yych = *++data;
1143 if (yych == '"') { 1208 if (yych == '"') {
1144 yyt2 = data; 1209 yyt2 = data;
1145 goto yy105; 1210 goto yy105;
1146 } 1211 }
1147 if (yych == ')') { 1212 if (yych == ')') {
1148 yyt2 = data; 1213 yyt2 = data;
1149 goto yy106; 1214 goto yy106;
1150 } 1215 }
1151yy104: 1216yy104:
1152 data = YYMARKER; 1217 data = YYMARKER;
1153 if (yyaccept == 0) { 1218 if (yyaccept == 0) {
1154 goto yy102; 1219 goto yy102;
1155 } else { 1220 } else {
1156 goto yy107; 1221 goto yy107;
1157 } 1222 }
1158yy105: 1223yy105:
1159 yych = *++data; 1224 yych = *++data;
1160 if (yybm[0+yych] & 64) { 1225 if (yybm_cond[0+yych] & 64) {
1161 goto yy105; 1226 goto yy105;
1162 } 1227 }
1163 if (yych <= '\r') goto yy104; 1228 if (yych <= '\r') goto yy104;
1164 if (yych <= '"') goto yy108; 1229 if (yych <= '"') goto yy108;
1165 goto yy109; 1230 goto yy109;
1166yy106: 1231yy106:
1167 ++data; 1232 ++data;
1168yy107: 1233yy107:
1169 t1 = yyt1; 1234 t1 = yyt1;
1170 t3 = yyt2; 1235 t3 = yyt2;
1171 t2 = yyt2 - 1; 1236 t2 = yyt2 - 1;
1172 t4 = data - 1; 1237 t4 = data - 1;
1173 { 1238 {
1174 if (t4-t3 >= 2 && strlen("extension_loaded") == t2-t1 && strncmp("extension_loaded", t1, t2-t1) == 0) { 1239 if (t4-t3 >= 2 && strlen("extension_loaded") == t2-t1 && strncmp("extension_loaded", t1, t2-t1) == 0) {
1175 int is_loaded = (zend_hash_str_find_ptr(&module_registry, t3+1, t4-t3-2) != NULL); 1240 int is_loaded = (zend_hash_str_find_ptr(&module_registry, t3+1, t4-t3-2) != NULL);
1176 sy_res_push(is_loaded); 1241 sy_res_push(is_loaded);
1177 } else { 1242 } else {
1178 cs_log_error("unknown function in condition on line %d", lineno); 1243 cs_log_error("unknown function in condition on line %zu", lineno);
1179 goto out; 1244 goto out;
1180 } 1245 }
1181 goto yyc_cond_op; 1246 goto yyc_cond_op;
1182 } 1247 }
1183yy108: 1248yy108:
1184 yych = *++data; 1249 yych = *++data;
1185 if (yych == ')') goto yy106; 1250 if (yych == ')') goto yy106;
1186 goto yy104; 1251 goto yy104;
1187yy109: 1252yy109:
1188 yych = *++data; 1253 yych = *++data;
1189 if (yybm[0+yych] & 64) { 1254 if (yybm_cond[0+yych] & 64) {
1255 goto yy105;
1256 }
1257 if (yych <= '\r') goto yy104;
1258 if (yych >= '#') goto yy109;
1259 yych = *++data;
1260 if (yybm_cond[0+yych] & 128) {
1261 goto yy109;
1262 }
1263 if (yych <= '\r') {
1264 if (yych <= '\t') {
1265 if (yych <= 0x00) goto yy104;
1190 goto yy105; 1266 goto yy105;
1191 }
1192 if (yych <= '\r') goto yy104;
1193 if (yych >= '#') goto yy109;
1194 yych = *++data;
1195 if (yybm[0+yych] & 128) {
1196 goto yy109;
1197 }
1198 if (yych <= '\r') {
1199 if (yych <= '\t') {
1200 if (yych <= 0x00) goto yy104;
1201 goto yy105;
1202 } else {
1203 if (yych <= '\n') goto yy104;
1204 if (yych <= '\f') goto yy105;
1205 goto yy104;
1206 }
1207 } else { 1267 } else {
1208 if (yych <= '"') { 1268 if (yych <= '\n') goto yy104;
1209 if (yych <= '!') goto yy105; 1269 if (yych <= '\f') goto yy105;
1210 goto yy108; 1270 goto yy104;
1211 } else {
1212 if (yych != ')') goto yy105;
1213 }
1214 } 1271 }
1215 yyaccept = 1; 1272 } else {
1216 yych = *(YYMARKER = ++data); 1273 if (yych <= '"') {
1217 if (yybm[0+yych] & 64) { 1274 if (yych <= '!') goto yy105;
1218 goto yy105; 1275 goto yy108;
1276 } else {
1277 if (yych != ')') goto yy105;
1219 } 1278 }
1220 if (yych <= '\r') goto yy107;
1221 if (yych <= '"') goto yy108;
1222 goto yy109;
1223 } 1279 }
1280 yyaccept = 1;
1281 yych = *(YYMARKER = ++data);
1282 if (yybm_cond[0+yych] & 64) {
1283 goto yy105;
1284 }
1285 if (yych <= '\r') goto yy107;
1286 if (yych <= '"') goto yy108;
1287 goto yy109;
1224/* *********************************** */ 1288/* *********************************** */
1225yyc_cond_op: 1289yyc_cond_op:
1226 { 1290 yych = *data;
1227 static const unsigned char yybm[] = { 1291 if (yybm_cond_op[0+yych] & 128) {
1228 0, 0, 0, 0, 0, 0, 0, 0, 1292 goto yy113;
1229 0, 128, 0, 0, 0, 0, 0, 0, 1293 }
1230 0, 0, 0, 0, 0, 0, 0, 0, 1294 if (yych <= ')') {
1231 0, 0, 0, 0, 0, 0, 0, 0, 1295 if (yych <= '\r') {
1232 128, 0, 0, 0, 0, 0, 0, 0, 1296 if (yych <= 0x08) goto yy111;
1233 0, 0, 0, 0, 0, 0, 0, 0, 1297 if (yych <= '\n') goto yy114;
1234 0, 0, 0, 0, 0, 0, 0, 0, 1298 if (yych >= '\r') goto yy115;
1235 0, 0, 0, 0, 0, 0, 0, 0, 1299 } else {
1236 0, 0, 0, 0, 0, 0, 0, 0, 1300 if (yych == '&') {
1237 0, 0, 0, 0, 0, 0, 0, 0, 1301 yyt1 = data;
1238 0, 0, 0, 0, 0, 0, 0, 0, 1302 goto yy116;
1239 0, 0, 0, 0, 0, 0, 0, 0, 1303 }
1240 0, 0, 0, 0, 0, 0, 0, 0, 1304 if (yych >= ')') goto yy117;
1241 0, 0, 0, 0, 0, 0, 0, 0,
1242 0, 0, 0, 0, 0, 0, 0, 0,
1243 0, 0, 0, 0, 0, 0, 0, 0,
1244 0, 0, 0, 0, 0, 0, 0, 0,
1245 0, 0, 0, 0, 0, 0, 0, 0,
1246 0, 0, 0, 0, 0, 0, 0, 0,
1247 0, 0, 0, 0, 0, 0, 0, 0,
1248 0, 0, 0, 0, 0, 0, 0, 0,
1249 0, 0, 0, 0, 0, 0, 0, 0,
1250 0, 0, 0, 0, 0, 0, 0, 0,
1251 0, 0, 0, 0, 0, 0, 0, 0,
1252 0, 0, 0, 0, 0, 0, 0, 0,
1253 0, 0, 0, 0, 0, 0, 0, 0,
1254 0, 0, 0, 0, 0, 0, 0, 0,
1255 0, 0, 0, 0, 0, 0, 0, 0,
1256 0, 0, 0, 0, 0, 0, 0, 0,
1257 0, 0, 0, 0, 0, 0, 0, 0,
1258 0, 0, 0, 0, 0, 0, 0, 0,
1259 0, 0, 0, 0, 0, 0, 0, 0,
1260 };
1261 yych = *data;
1262 if (yybm[0+yych] & 128) {
1263 goto yy113;
1264 } 1305 }
1265 if (yych <= ')') { 1306 } else {
1266 if (yych <= '\r') { 1307 if (yych <= '=') {
1267 if (yych <= 0x08) goto yy111; 1308 if (yych <= ':') goto yy111;
1268 if (yych <= '\n') goto yy114; 1309 if (yych <= ';') goto yy118;
1269 if (yych >= '\r') goto yy115; 1310 if (yych <= '<') {
1270 } else { 1311 yyt1 = data;
1271 if (yych == '&') { 1312 goto yy119;
1272 yyt1 = data;
1273 goto yy116;
1274 }
1275 if (yych >= ')') goto yy117;
1276 } 1313 }
1314 yyt1 = data;
1315 goto yy121;
1277 } else { 1316 } else {
1278 if (yych <= '=') { 1317 if (yych <= '>') {
1279 if (yych <= ':') goto yy111;
1280 if (yych <= ';') goto yy118;
1281 if (yych <= '<') {
1282 yyt1 = data;
1283 goto yy119;
1284 }
1285 yyt1 = data; 1318 yyt1 = data;
1286 goto yy121; 1319 goto yy119;
1287 } else { 1320 }
1288 if (yych <= '>') { 1321 if (yych == '|') {
1289 yyt1 = data; 1322 yyt1 = data;
1290 goto yy119; 1323 goto yy122;
1291 }
1292 if (yych == '|') {
1293 yyt1 = data;
1294 goto yy122;
1295 }
1296 } 1324 }
1297 } 1325 }
1326 }
1298yy111: 1327yy111:
1299 ++data; 1328 ++data;
1300yy112: 1329yy112:
1301 { cs_log_error("syntax error in condition on line %d", lineno); goto out; } 1330 { cs_log_error("syntax error in condition on line %zu", lineno); goto out; }
1302yy113: 1331yy113:
1303 yych = *++data; 1332 yych = *++data;
1304 if (yybm[0+yych] & 128) { 1333 if (yybm_cond_op[0+yych] & 128) {
1305 goto yy113; 1334 goto yy113;
1306 } 1335 }
1307 { goto yyc_cond_op; } 1336 { goto yyc_cond_op; }
1308yy114: 1337yy114:
1309 ++data; 1338 ++data;
1310 { lineno++; goto yyc_cond_op; } 1339 { lineno++; goto yyc_cond_op; }
1311yy115: 1340yy115:
1312 yych = *++data; 1341 yych = *++data;
1313 if (yych == '\n') goto yy114; 1342 if (yych == '\n') goto yy114;
1314 goto yy112; 1343 goto yy112;
1315yy116: 1344yy116:
1316 yych = *++data; 1345 yych = *++data;
1317 if (yych == '&') goto yy123; 1346 if (yych == '&') goto yy123;
1318 goto yy112; 1347 goto yy112;
1319yy117: 1348yy117:
1320 ++data; 1349 ++data;
1321 { 1350 {
1322 while (cond_op_i && sy_op_peek() != '(') { 1351 while (cond_op_i && sy_op_peek() != '(') {
1323 SY_APPLY_OP_FROM_STACK(); 1352 SY_APPLY_OP_FROM_STACK();
1324 } 1353 }
1325 if (cond_op_i == 0 || sy_op_peek() != '(') { 1354 if (cond_op_i == 0 || sy_op_peek() != '(') {
1326 cs_log_error("unbalanced parenthesis on line %d", lineno); goto out; 1355 cs_log_error("unbalanced parenthesis on line %zu", lineno); goto out;
1327 } 1356 }
1328 cond_op_i--; 1357 cond_op_i--;
1329 goto yyc_cond_op; 1358 goto yyc_cond_op;
1330 } 1359 }
1331yy118: 1360yy118:
1332 ++data; 1361 ++data;
1333 { 1362 {
1334 while (cond_op_i) { 1363 while (cond_op_i) {
1335 if (sy_op_peek() == '(') { cs_log_error("unbalanced parenthesis on line %d", lineno); goto out; } 1364 if (sy_op_peek() == '(') { cs_log_error("unbalanced parenthesis on line %zu", lineno); goto out; }
1336 SY_APPLY_OP_FROM_STACK(); 1365 SY_APPLY_OP_FROM_STACK();
1337 } 1366 }
1338 if (cond_res_i > 1) { cs_log_error("invalid condition on line %d", lineno); goto out; } 1367 if (cond_res_i > 1) { cs_log_error("invalid condition on line %zu", lineno); goto out; }
1339 goto yyc_init; 1368 goto yyc_init;
1340 } 1369 }
1341yy119: 1370yy119:
1342 yych = *++data; 1371 yych = *++data;
1343 if (yych == '=') goto yy123; 1372 if (yych == '=') goto yy123;
1344yy120: 1373yy120:
1345 t1 = yyt1; 1374 t1 = yyt1;
1346 t2 = data; 1375 t2 = data;
1347 { 1376 {
1348 char op1 = *t1; 1377 char op1 = *t1;
1349 if (t2-t1 == 2) { 1378 if (t2-t1 == 2) {
1350 switch (op1) { 1379 switch (op1) {
@@ -1365,124 +1394,88 @@ yy120:
1365 goto yyc_cond; 1394 goto yyc_cond;
1366 } 1395 }
1367yy121: 1396yy121:
1368 yych = *++data; 1397 yych = *++data;
1369 if (yych == '=') goto yy123; 1398 if (yych == '=') goto yy123;
1370 goto yy112; 1399 goto yy112;
1371yy122: 1400yy122:
1372 yych = *++data; 1401 yych = *++data;
1373 if (yych != '|') goto yy112; 1402 if (yych != '|') goto yy112;
1374yy123: 1403yy123:
1375 ++data; 1404 ++data;
1376 goto yy120; 1405 goto yy120;
1377 }
1378/* *********************************** */ 1406/* *********************************** */
1379yyc_rule: 1407yyc_rule:
1380 { 1408 yych = *data;
1381 static const unsigned char yybm[] = { 1409 if (yybm_rule[0+yych] & 8) {
1382 0, 64, 64, 64, 64, 64, 64, 64, 1410 goto yy127;
1383 64, 88, 16, 64, 64, 0, 64, 64, 1411 }
1384 64, 64, 64, 64, 64, 64, 64, 64, 1412 if (yych <= '\r') {
1385 64, 64, 64, 64, 64, 64, 64, 64, 1413 if (yych <= 0x08) goto yy125;
1386 88, 64, 0, 64, 64, 64, 64, 64, 1414 if (yych <= '\n') goto yy128;
1387 64, 64, 64, 64, 64, 64, 64, 64, 1415 if (yych >= '\r') goto yy129;
1388 96, 96, 96, 96, 96, 96, 96, 96, 1416 } else {
1389 96, 96, 64, 64, 64, 64, 64, 64, 1417 if (yych <= '.') {
1390 64, 96, 96, 96, 96, 96, 96, 96, 1418 if (yych >= '.') goto yy130;
1391 96, 96, 96, 96, 96, 96, 96, 96,
1392 96, 96, 96, 96, 96, 96, 96, 96,
1393 96, 96, 96, 64, 128, 64, 64, 96,
1394 64, 96, 96, 96, 96, 96, 96, 96,
1395 96, 96, 96, 96, 96, 96, 96, 96,
1396 96, 96, 96, 96, 96, 96, 96, 96,
1397 96, 96, 96, 64, 64, 64, 64, 64,
1398 64, 64, 64, 64, 64, 64, 64, 64,
1399 64, 64, 64, 64, 64, 64, 64, 64,
1400 64, 64, 64, 64, 64, 64, 64, 64,
1401 64, 64, 64, 64, 64, 64, 64, 64,
1402 64, 64, 64, 64, 64, 64, 64, 64,
1403 64, 64, 64, 64, 64, 64, 64, 64,
1404 64, 64, 64, 64, 64, 64, 64, 64,
1405 64, 64, 64, 64, 64, 64, 64, 64,
1406 64, 64, 64, 64, 64, 64, 64, 64,
1407 64, 64, 64, 64, 64, 64, 64, 64,
1408 64, 64, 64, 64, 64, 64, 64, 64,
1409 64, 64, 64, 64, 64, 64, 64, 64,
1410 64, 64, 64, 64, 64, 64, 64, 64,
1411 64, 64, 64, 64, 64, 64, 64, 64,
1412 64, 64, 64, 64, 64, 64, 64, 64,
1413 64, 64, 64, 64, 64, 64, 64, 64,
1414 };
1415 yych = *data;
1416 if (yybm[0+yych] & 8) {
1417 goto yy127;
1418 }
1419 if (yych <= '\r') {
1420 if (yych <= 0x08) goto yy125;
1421 if (yych <= '\n') goto yy128;
1422 if (yych >= '\r') goto yy129;
1423 } else { 1419 } else {
1424 if (yych <= '.') { 1420 if (yych == ';') goto yy131;
1425 if (yych >= '.') goto yy130;
1426 } else {
1427 if (yych == ';') goto yy131;
1428 }
1429 } 1421 }
1422 }
1430yy125: 1423yy125:
1431 ++data; 1424 ++data;
1432yy126: 1425yy126:
1433 { goto end_of_rule; } 1426 { goto end_of_rule; }
1434yy127: 1427yy127:
1435 yych = *++data; 1428 yych = *++data;
1436 if (yybm[0+yych] & 8) { 1429 if (yybm_rule[0+yych] & 8) {
1437 goto yy127; 1430 goto yy127;
1438 } 1431 }
1439 { goto yyc_rule; } 1432 { goto yyc_rule; }
1440yy128: 1433yy128:
1441 yyaccept = 0; 1434 yyaccept = 0;
1442 yych = *(YYMARKER = ++data); 1435 yych = *(YYMARKER = ++data);
1443 if (yych <= '\r') { 1436 if (yych <= '\r') {
1444 if (yych <= 0x08) goto yy126; 1437 if (yych <= 0x08) goto yy126;
1445 if (yych <= '\n') { 1438 if (yych <= '\n') {
1446 yyt1 = data;
1447 goto yy132;
1448 }
1449 if (yych <= '\f') goto yy126;
1450 yyt1 = data; 1439 yyt1 = data;
1451 goto yy134; 1440 goto yy132;
1441 }
1442 if (yych <= '\f') goto yy126;
1443 yyt1 = data;
1444 goto yy134;
1445 } else {
1446 if (yych <= ' ') {
1447 if (yych <= 0x1F) goto yy126;
1448 yyt1 = data;
1449 goto yy132;
1452 } else { 1450 } else {
1453 if (yych <= ' ') { 1451 if (yych == '.') {
1454 if (yych <= 0x1F) goto yy126;
1455 yyt1 = data; 1452 yyt1 = data;
1456 goto yy132; 1453 goto yy135;
1457 } else {
1458 if (yych == '.') {
1459 yyt1 = data;
1460 goto yy135;
1461 }
1462 goto yy126;
1463 } 1454 }
1455 goto yy126;
1464 } 1456 }
1457 }
1465yy129: 1458yy129:
1466 yyaccept = 0; 1459 yyaccept = 0;
1467 yych = *(YYMARKER = ++data); 1460 yych = *(YYMARKER = ++data);
1468 if (yych == '\n') goto yy136; 1461 if (yych == '\n') goto yy136;
1469 goto yy126; 1462 goto yy126;
1470yy130: 1463yy130:
1471 yych = *++data; 1464 yych = *++data;
1472 if (yych <= '@') goto yy126; 1465 if (yych <= '@') goto yy126;
1473 if (yych <= 'Z') { 1466 if (yych <= 'Z') {
1474 yyt1 = data; 1467 yyt1 = data;
1475 goto yy137; 1468 goto yy137;
1476 } 1469 }
1477 if (yych <= '`') goto yy126; 1470 if (yych <= '`') goto yy126;
1478 if (yych <= 'z') { 1471 if (yych <= 'z') {
1479 yyt1 = data; 1472 yyt1 = data;
1480 goto yy137; 1473 goto yy137;
1481 } 1474 }
1482 goto yy126; 1475 goto yy126;
1483yy131: 1476yy131:
1484 ++data; 1477 ++data;
1485 { 1478 {
1486 end_of_rule: 1479 end_of_rule:
1487 if (!cond_res[0]) { goto yyc_init; } 1480 if (!cond_res[0]) { goto yyc_init; }
1488 parsed_rule[kw_i++] = (sp_parsed_keyword){0, 0, 0, 0, 0, 0}; 1481 parsed_rule[kw_i++] = (sp_parsed_keyword){0, 0, 0, 0, 0, 0};
@@ -1492,84 +1485,84 @@ yy131:
1492 goto yyc_init; 1485 goto yyc_init;
1493 } 1486 }
1494yy132: 1487yy132:
1495 yych = *++data; 1488 yych = *++data;
1496 if (yybm[0+yych] & 16) { 1489 if (yybm_rule[0+yych] & 16) {
1497 goto yy132; 1490 goto yy132;
1498 } 1491 }
1499 if (yych == '\r') goto yy134; 1492 if (yych == '\r') goto yy134;
1500 if (yych == '.') goto yy135; 1493 if (yych == '.') goto yy135;
1501yy133: 1494yy133:
1502 data = YYMARKER; 1495 data = YYMARKER;
1503 if (yyaccept <= 1) { 1496 if (yyaccept <= 1) {
1504 if (yyaccept == 0) { 1497 if (yyaccept == 0) {
1505 goto yy126; 1498 goto yy126;
1506 } else {
1507 yyt3 = yyt4 = NULL;
1508 yyt2 = data;
1509 goto yy138;
1510 }
1511 } else { 1499 } else {
1500 yyt3 = yyt4 = NULL;
1501 yyt2 = data;
1512 goto yy138; 1502 goto yy138;
1513 } 1503 }
1504 } else {
1505 goto yy138;
1506 }
1514yy134: 1507yy134:
1515 yych = *++data; 1508 yych = *++data;
1516 if (yych == '\n') goto yy132; 1509 if (yych == '\n') goto yy132;
1517 goto yy133; 1510 goto yy133;
1518yy135: 1511yy135:
1519 ++data; 1512 ++data;
1520 data = yyt1; 1513 data = yyt1;
1521 { lineno++; goto yyc_rule; } 1514 { lineno++; goto yyc_rule; }
1522yy136: 1515yy136:
1523 yych = *++data; 1516 yych = *++data;
1524 if (yych <= '\r') { 1517 if (yych <= '\r') {
1525 if (yych <= 0x08) goto yy133; 1518 if (yych <= 0x08) goto yy133;
1526 if (yych <= '\n') { 1519 if (yych <= '\n') {
1527 yyt1 = data;
1528 goto yy132;
1529 }
1530 if (yych <= '\f') goto yy133;
1531 yyt1 = data; 1520 yyt1 = data;
1532 goto yy134; 1521 goto yy132;
1522 }
1523 if (yych <= '\f') goto yy133;
1524 yyt1 = data;
1525 goto yy134;
1526 } else {
1527 if (yych <= ' ') {
1528 if (yych <= 0x1F) goto yy133;
1529 yyt1 = data;
1530 goto yy132;
1533 } else { 1531 } else {
1534 if (yych <= ' ') { 1532 if (yych == '.') {
1535 if (yych <= 0x1F) goto yy133;
1536 yyt1 = data; 1533 yyt1 = data;
1537 goto yy132; 1534 goto yy135;
1538 } else {
1539 if (yych == '.') {
1540 yyt1 = data;
1541 goto yy135;
1542 }
1543 goto yy133;
1544 } 1535 }
1536 goto yy133;
1545 } 1537 }
1538 }
1546yy137: 1539yy137:
1547 yyaccept = 1; 1540 yyaccept = 1;
1548 yych = *(YYMARKER = ++data); 1541 yych = *(YYMARKER = ++data);
1549 if (yybm[0+yych] & 32) { 1542 if (yybm_rule[0+yych] & 32) {
1550 goto yy137; 1543 goto yy137;
1551 } 1544 }
1552 if (yych == '(') { 1545 if (yych == '(') {
1553 yyt2 = data;
1554 goto yy139;
1555 }
1556 yyt3 = yyt4 = NULL;
1557 yyt2 = data; 1546 yyt2 = data;
1547 goto yy139;
1548 }
1549 yyt3 = yyt4 = NULL;
1550 yyt2 = data;
1558yy138: 1551yy138:
1559 t1 = yyt1; 1552 t1 = yyt1;
1560 t2 = yyt2; 1553 t2 = yyt2;
1561 t3 = yyt3; 1554 t3 = yyt3;
1562 t4 = yyt4; 1555 t4 = yyt4;
1563 { 1556 {
1564 if (!cond_res[0]) { goto yyc_rule; } 1557 if (!cond_res[0]) { goto yyc_rule; }
1565 if (kw_i == MAX_KEYWORDS) { 1558 if (kw_i == MAX_KEYWORDS) {
1566 cs_log_error("too many keywords in rule (more than %d) on line %d", MAX_KEYWORDS, lineno); 1559 cs_log_error("too many keywords in rule (more than %d) on line %zu", MAX_KEYWORDS, lineno);
1567 goto out; 1560 goto out;
1568 } 1561 }
1569 sp_parsed_keyword kw = { 1562 sp_parsed_keyword kw = {
1570 .kw = (char*)t1, 1563 .kw = t1,
1571 .kwlen = t2-t1, 1564 .kwlen = t2-t1,
1572 .arg = (char*)t3, 1565 .arg = t3,
1573 .arglen = t4-t3, 1566 .arglen = t4-t3,
1574 .argtype = SP_ARGTYPE_UNKNOWN, 1567 .argtype = SP_ARGTYPE_UNKNOWN,
1575 .lineno = lineno 1568 .lineno = lineno
@@ -1578,13 +1571,13 @@ yy138:
1578 if (t3 == t4) { 1571 if (t3 == t4) {
1579 kw.argtype = SP_ARGTYPE_EMPTY; 1572 kw.argtype = SP_ARGTYPE_EMPTY;
1580 } else if (t4-t3 >= 2 && *t3 == '"') { 1573 } else if (t4-t3 >= 2 && *t3 == '"') {
1581 kw.arg = (char*)t3 + 1; 1574 kw.arg = t3 + 1;
1582 kw.arglen = t4 - t3 - 2; 1575 kw.arglen = t4 - t3 - 2;
1583 kw.argtype = SP_ARGTYPE_STR; 1576 kw.argtype = SP_ARGTYPE_STR;
1584 } else { 1577 } else {
1585 zend_string *tmp = zend_hash_str_find_ptr(&vars, t3, t4-t3); 1578 zend_string *tmp = zend_hash_str_find_ptr(&vars, t3, t4-t3);
1586 if (!tmp) { 1579 if (!tmp) {
1587 cs_log_error("unknown variable on line %d", lineno); 1580 cs_log_error("unknown variable on line %zu", lineno);
1588 goto out; 1581 goto out;
1589 } 1582 }
1590 kw.arg = ZSTR_VAL(tmp); 1583 kw.arg = ZSTR_VAL(tmp);
@@ -1598,108 +1591,107 @@ yy138:
1598 goto yyc_rule; 1591 goto yyc_rule;
1599 } 1592 }
1600yy139: 1593yy139:
1601 yych = *++data; 1594 yych = *++data;
1602 if (yych <= ')') { 1595 if (yych <= ')') {
1603 if (yych == '"') { 1596 if (yych == '"') {
1604 yyt3 = data; 1597 yyt3 = data;
1605 goto yy140; 1598 goto yy140;
1606 } 1599 }
1607 if (yych <= '(') goto yy133; 1600 if (yych <= '(') goto yy133;
1608 yyt3 = yyt4 = data; 1601 yyt3 = yyt4 = data;
1609 goto yy141; 1602 goto yy141;
1603 } else {
1604 if (yych <= 'Z') {
1605 if (yych <= '@') goto yy133;
1606 yyt3 = data;
1607 goto yy142;
1610 } else { 1608 } else {
1611 if (yych <= 'Z') { 1609 if (yych <= '`') goto yy133;
1612 if (yych <= '@') goto yy133; 1610 if (yych <= 'z') {
1613 yyt3 = data; 1611 yyt3 = data;
1614 goto yy142; 1612 goto yy142;
1615 } else {
1616 if (yych <= '`') goto yy133;
1617 if (yych <= 'z') {
1618 yyt3 = data;
1619 goto yy142;
1620 }
1621 goto yy133;
1622 } 1613 }
1614 goto yy133;
1623 } 1615 }
1616 }
1624yy140: 1617yy140:
1625 yych = *++data; 1618 yych = *++data;
1626 if (yybm[0+yych] & 64) { 1619 if (yybm_rule[0+yych] & 64) {
1627 goto yy140; 1620 goto yy140;
1628 } 1621 }
1629 if (yych <= '\r') goto yy133; 1622 if (yych <= '\r') goto yy133;
1630 if (yych <= '"') goto yy143; 1623 if (yych <= '"') goto yy143;
1631 goto yy144; 1624 goto yy144;
1632yy141: 1625yy141:
1633 ++data; 1626 ++data;
1634 goto yy138; 1627 goto yy138;
1635yy142: 1628yy142:
1636 yych = *++data; 1629 yych = *++data;
1637 if (yych <= '@') { 1630 if (yych <= '@') {
1638 if (yych <= ')') { 1631 if (yych <= ')') {
1639 if (yych <= '(') goto yy133; 1632 if (yych <= '(') goto yy133;
1640 yyt4 = data;
1641 goto yy141;
1642 } else {
1643 if (yych <= '/') goto yy133;
1644 if (yych <= '9') goto yy142;
1645 goto yy133;
1646 }
1647 } else {
1648 if (yych <= '_') {
1649 if (yych <= 'Z') goto yy142;
1650 if (yych <= '^') goto yy133;
1651 goto yy142;
1652 } else {
1653 if (yych <= '`') goto yy133;
1654 if (yych <= 'z') goto yy142;
1655 goto yy133;
1656 }
1657 }
1658yy143:
1659 yych = *++data;
1660 if (yych == ')') {
1661 yyt4 = data; 1633 yyt4 = data;
1662 goto yy141; 1634 goto yy141;
1635 } else {
1636 if (yych <= '/') goto yy133;
1637 if (yych <= '9') goto yy142;
1638 goto yy133;
1663 } 1639 }
1664 goto yy133; 1640 } else {
1641 if (yych <= '_') {
1642 if (yych <= 'Z') goto yy142;
1643 if (yych <= '^') goto yy133;
1644 goto yy142;
1645 } else {
1646 if (yych <= '`') goto yy133;
1647 if (yych <= 'z') goto yy142;
1648 goto yy133;
1649 }
1650 }
1651yy143:
1652 yych = *++data;
1653 if (yych == ')') {
1654 yyt4 = data;
1655 goto yy141;
1656 }
1657 goto yy133;
1665yy144: 1658yy144:
1666 yych = *++data; 1659 yych = *++data;
1667 if (yybm[0+yych] & 64) { 1660 if (yybm_rule[0+yych] & 64) {
1661 goto yy140;
1662 }
1663 if (yych <= '\r') goto yy133;
1664 if (yych >= '#') goto yy144;
1665 yych = *++data;
1666 if (yybm_rule[0+yych] & 128) {
1667 goto yy144;
1668 }
1669 if (yych <= '\r') {
1670 if (yych <= '\t') {
1671 if (yych <= 0x00) goto yy133;
1668 goto yy140; 1672 goto yy140;
1669 }
1670 if (yych <= '\r') goto yy133;
1671 if (yych >= '#') goto yy144;
1672 yych = *++data;
1673 if (yybm[0+yych] & 128) {
1674 goto yy144;
1675 }
1676 if (yych <= '\r') {
1677 if (yych <= '\t') {
1678 if (yych <= 0x00) goto yy133;
1679 goto yy140;
1680 } else {
1681 if (yych <= '\n') goto yy133;
1682 if (yych <= '\f') goto yy140;
1683 goto yy133;
1684 }
1685 } else { 1673 } else {
1686 if (yych <= '"') { 1674 if (yych <= '\n') goto yy133;
1687 if (yych <= '!') goto yy140; 1675 if (yych <= '\f') goto yy140;
1688 goto yy143; 1676 goto yy133;
1689 } else {
1690 if (yych != ')') goto yy140;
1691 yyt4 = data;
1692 }
1693 } 1677 }
1694 yyaccept = 2; 1678 } else {
1695 yych = *(YYMARKER = ++data); 1679 if (yych <= '"') {
1696 if (yybm[0+yych] & 64) { 1680 if (yych <= '!') goto yy140;
1697 goto yy140; 1681 goto yy143;
1682 } else {
1683 if (yych != ')') goto yy140;
1684 yyt4 = data;
1698 } 1685 }
1699 if (yych <= '\r') goto yy138;
1700 if (yych <= '"') goto yy143;
1701 goto yy144;
1702 } 1686 }
1687 yyaccept = 2;
1688 yych = *(YYMARKER = ++data);
1689 if (yybm_rule[0+yych] & 64) {
1690 goto yy140;
1691 }
1692 if (yych <= '\r') goto yy138;
1693 if (yych <= '"') goto yy143;
1694 goto yy144;
1703} 1695}
1704 1696
1705out: 1697out: