summaryrefslogtreecommitdiff
path: root/src/sp_config_scanner.cached.c
diff options
context:
space:
mode:
authorBen Fuhrmannek2021-11-30 13:06:53 +0100
committerBen Fuhrmannek2021-11-30 13:06:53 +0100
commitaa099cd7a4aa5e3296d39158184e301af9ef2f78 (patch)
tree78e90114c7987b3667b85cd54b1ad562c832efe2 /src/sp_config_scanner.cached.c
parente22065c7ba31d000e93f57dce8a2caae50375d5e (diff)
added @log logging feature to config parser
Diffstat (limited to 'src/sp_config_scanner.cached.c')
-rw-r--r--src/sp_config_scanner.cached.c783
1 files changed, 440 insertions, 343 deletions
diff --git a/src/sp_config_scanner.cached.c b/src/sp_config_scanner.cached.c
index 90bcdbe..91144c7 100644
--- a/src/sp_config_scanner.cached.c
+++ b/src/sp_config_scanner.cached.c
@@ -9,7 +9,8 @@ enum YYCONDTYPE {
9}; 9};
10 10
11 11
12#define cs_error_log(fmt, ...) sp_log_err("config", fmt, ##__VA_ARGS__) 12#define cs_log_error(fmt, ...) sp_log_err("config", fmt, ##__VA_ARGS__)
13#define cs_log_info(fmt, ...) sp_log_msg("config", SP_LOG_INFO, fmt, ##__VA_ARGS__)
13 14
14zend_string *sp_get_arg_string(sp_parsed_keyword *kw) { 15zend_string *sp_get_arg_string(sp_parsed_keyword *kw) {
15 if (!kw || !kw->arg) { 16 if (!kw || !kw->arg) {
@@ -80,11 +81,11 @@ static void str_dtor(zval *zv) {
80 81
81// sy_ functions and macros are helpers for the shunting yard algorithm 82// sy_ functions and macros are helpers for the shunting yard algorithm
82#define sy_res_push(val) \ 83#define sy_res_push(val) \
83 if (cond_res_i >= 100) { cs_error_log("condition too complex on line %d", lineno); goto out; } \ 84 if (cond_res_i >= 100) { cs_log_error("condition too complex on line %d", lineno); goto out; } \
84 cond_res[cond_res_i++] = val; 85 cond_res[cond_res_i++] = val;
85#define sy_res_pop() cond_res[--cond_res_i] 86#define sy_res_pop() cond_res[--cond_res_i]
86#define sy_op_push(op) \ 87#define sy_op_push(op) \
87 if (cond_op_i >= 100) { cs_error_log("condition too complex on line %d", lineno); goto out; } \ 88 if (cond_op_i >= 100) { cs_log_error("condition too complex on line %d", lineno); goto out; } \
88 cond_op[cond_op_i++] = op; 89 cond_op[cond_op_i++] = op;
89#define sy_op_pop() cond_op[--cond_op_i] 90#define sy_op_pop() cond_op[--cond_op_i]
90#define sy_op_peek() cond_op[cond_op_i-1] 91#define sy_op_peek() cond_op[cond_op_i-1]
@@ -126,7 +127,7 @@ static int sy_apply_op(char op, int a, int b) {
126#define SY_APPLY_OP_FROM_STACK() \ 127#define SY_APPLY_OP_FROM_STACK() \
127 char op = sy_op_pop(); \ 128 char op = sy_op_pop(); \
128 int unary = (op == '!'); \ 129 int unary = (op == '!'); \
129 if (cond_res_i < (2 - unary)) { cs_error_log("not enough input on line %d", lineno); goto out; } \ 130 if (cond_res_i < (2 - unary)) { cs_log_error("not enough input on line %d", lineno); goto out; } \
130 int a = sy_res_pop(); \ 131 int a = sy_res_pop(); \
131 int b = unary ? 0 : sy_res_pop(); \ 132 int b = unary ? 0 : sy_res_pop(); \
132 int res = sy_apply_op(op, a, b); \ 133 int res = sy_apply_op(op, a, b); \
@@ -246,7 +247,7 @@ yy2:
246yy4: 247yy4:
247 ++YYCURSOR; 248 ++YYCURSOR;
248yy5: 249yy5:
249 { cs_error_log("Parser error on line %d", lineno); goto out; } 250 { cs_log_error("Parser error on line %d", lineno); goto out; }
250yy6: 251yy6:
251 yych = *++YYCURSOR; 252 yych = *++YYCURSOR;
252 if (yybm[0+yych] & 8) { 253 if (yybm[0+yych] & 8) {
@@ -269,162 +270,249 @@ yy12:
269yy15: 270yy15:
270 yyaccept = 0; 271 yyaccept = 0;
271 yych = *(YYMARKER = ++YYCURSOR); 272 yych = *(YYMARKER = ++YYCURSOR);
272 if (yych == 'c') goto yy17; 273 if (yych <= 'd') {
273 if (yych == 'e') goto yy19; 274 if (yych == 'c') goto yy17;
274 goto yy5; 275 goto yy5;
276 } else {
277 if (yych <= 'e') goto yy19;
278 if (yych == 'l') goto yy20;
279 goto yy5;
280 }
275yy16: 281yy16:
276 yyaccept = 0; 282 yyaccept = 0;
277 yych = *(YYMARKER = ++YYCURSOR); 283 yych = *(YYMARKER = ++YYCURSOR);
278 if (yych == 'e') goto yy20; 284 if (yych == 'e') goto yy21;
279 if (yych == 'p') goto yy21; 285 if (yych == 'p') goto yy22;
280 goto yy5; 286 goto yy5;
281yy17: 287yy17:
282 yych = *++YYCURSOR; 288 yych = *++YYCURSOR;
283 if (yych == 'o') goto yy23; 289 if (yych == 'o') goto yy24;
284yy18: 290yy18:
285 YYCURSOR = YYMARKER; 291 YYCURSOR = YYMARKER;
286 if (yyaccept <= 1) { 292 if (yyaccept <= 2) {
287 if (yyaccept == 0) { 293 if (yyaccept <= 1) {
288 goto yy5; 294 if (yyaccept == 0) {
295 goto yy5;
296 } else {
297 yyt1 = YYCURSOR;
298 goto yy37;
299 }
289 } else { 300 } else {
290 yyt4 = YYCURSOR; 301 goto yy37;
291 goto yy45;
292 } 302 }
293 } else { 303 } else {
294 goto yy45; 304 if (yyaccept == 3) {
305 yyt4 = YYCURSOR;
306 goto yy57;
307 } else {
308 goto yy57;
309 }
295 } 310 }
296yy19: 311yy19:
297 yych = *++YYCURSOR; 312 yych = *++YYCURSOR;
298 if (yych == 'n') goto yy24; 313 if (yych == 'n') goto yy25;
299 goto yy18; 314 goto yy18;
300yy20: 315yy20:
301 yych = *++YYCURSOR; 316 yych = *++YYCURSOR;
302 if (yych == 't') goto yy25; 317 if (yych == 'o') goto yy26;
303 goto yy18; 318 goto yy18;
304yy21: 319yy21:
305 ++YYCURSOR;
306 { kw_i = 0; goto yyc_rule; }
307yy23:
308 yych = *++YYCURSOR; 320 yych = *++YYCURSOR;
309 if (yych == 'n') goto yy26; 321 if (yych == 't') goto yy27;
310 goto yy18; 322 goto yy18;
323yy22:
324 ++YYCURSOR;
325 { kw_i = 0; goto yyc_rule; }
311yy24: 326yy24:
312 yych = *++YYCURSOR; 327 yych = *++YYCURSOR;
313 if (yych == 'd') goto yy27; 328 if (yych == 'n') goto yy28;
314 goto yy18; 329 goto yy18;
315yy25: 330yy25:
316 yych = *++YYCURSOR; 331 yych = *++YYCURSOR;
317 if (yych == '\t') goto yy28; 332 if (yych == 'd') goto yy29;
318 if (yych == ' ') goto yy28;
319 goto yy18; 333 goto yy18;
320yy26: 334yy26:
321 yych = *++YYCURSOR; 335 yych = *++YYCURSOR;
322 if (yych == 'd') goto yy30; 336 if (yych == 'g') goto yy30;
323 goto yy18; 337 goto yy18;
324yy27: 338yy27:
325 yych = *++YYCURSOR; 339 yych = *++YYCURSOR;
326 if (yych == '_') goto yy31; 340 if (yych == '\t') goto yy31;
341 if (yych == ' ') goto yy31;
327 goto yy18; 342 goto yy18;
328yy28: 343yy28:
329 yych = *++YYCURSOR; 344 yych = *++YYCURSOR;
345 if (yych == 'd') goto yy33;
346 goto yy18;
347yy29:
348 yych = *++YYCURSOR;
349 if (yych == '_') goto yy34;
350 goto yy18;
351yy30:
352 yych = *++YYCURSOR;
353 if (yych == '\t') goto yy35;
354 if (yych == ' ') goto yy35;
355 goto yy18;
356yy31:
357 yych = *++YYCURSOR;
330 if (yych <= '@') { 358 if (yych <= '@') {
331 if (yych <= '\t') { 359 if (yych <= '\t') {
332 if (yych <= 0x08) goto yy18; 360 if (yych <= 0x08) goto yy18;
333 goto yy28; 361 goto yy31;
334 } else { 362 } else {
335 if (yych == ' ') goto yy28; 363 if (yych == ' ') goto yy31;
336 goto yy18; 364 goto yy18;
337 } 365 }
338 } else { 366 } else {
339 if (yych <= '_') { 367 if (yych <= '_') {
340 if (yych <= 'Z') { 368 if (yych <= 'Z') {
341 yyt1 = YYCURSOR; 369 yyt1 = YYCURSOR;
342 goto yy32; 370 goto yy38;
343 } 371 }
344 if (yych <= '^') goto yy18; 372 if (yych <= '^') goto yy18;
345 yyt1 = YYCURSOR; 373 yyt1 = YYCURSOR;
346 goto yy32; 374 goto yy38;
347 } else { 375 } else {
348 if (yych <= '`') goto yy18; 376 if (yych <= '`') goto yy18;
349 if (yych <= 'z') { 377 if (yych <= 'z') {
350 yyt1 = YYCURSOR; 378 yyt1 = YYCURSOR;
351 goto yy32; 379 goto yy38;
352 } 380 }
353 goto yy18; 381 goto yy18;
354 } 382 }
355 } 383 }
356yy30: 384yy33:
357 yych = *++YYCURSOR; 385 yych = *++YYCURSOR;
358 if (yych == 'i') goto yy34; 386 if (yych == 'i') goto yy40;
359 goto yy18; 387 goto yy18;
360yy31: 388yy34:
361 yych = *++YYCURSOR; 389 yych = *++YYCURSOR;
362 if (yych == 'c') goto yy35; 390 if (yych == 'c') goto yy41;
363 goto yy18; 391 goto yy18;
364yy32: 392yy35:
393 yyaccept = 1;
394 yych = *(YYMARKER = ++YYCURSOR);
395 if (yych <= 0x1F) {
396 if (yych == '\t') goto yy35;
397 yyt1 = YYCURSOR;
398 } else {
399 if (yych <= ' ') goto yy35;
400 if (yych == '"') {
401 yyt1 = YYCURSOR;
402 goto yy42;
403 }
404 yyt1 = YYCURSOR;
405 }
406yy37:
407 t1 = yyt1;
408 t2 = YYCURSOR;
409 {
410 char tmpstr[1024];
411 size_t tmplen = MIN(t2-t1-2, 1023);
412 strncpy(tmpstr, t1+1, tmplen);
413 tmpstr[tmplen] = 0;
414 cs_log_info("[line %d]: %s", lineno, tmpstr);
415 goto yyc_init;
416 }
417yy38:
365 yych = *++YYCURSOR; 418 yych = *++YYCURSOR;
366 if (yybm[0+yych] & 32) { 419 if (yybm[0+yych] & 32) {
367 goto yy32; 420 goto yy38;
368 } 421 }
369 if (yych == '\t') { 422 if (yych == '\t') {
370 yyt2 = YYCURSOR; 423 yyt2 = YYCURSOR;
371 goto yy36; 424 goto yy44;
372 } 425 }
373 if (yych == ' ') { 426 if (yych == ' ') {
374 yyt2 = YYCURSOR; 427 yyt2 = YYCURSOR;
375 goto yy36; 428 goto yy44;
376 } 429 }
377 goto yy18; 430 goto yy18;
378yy34: 431yy40:
379 yych = *++YYCURSOR; 432 yych = *++YYCURSOR;
380 if (yych == 't') goto yy38; 433 if (yych == 't') goto yy46;
381 goto yy18; 434 goto yy18;
382yy35: 435yy41:
383 yych = *++YYCURSOR; 436 yych = *++YYCURSOR;
384 if (yych == 'o') goto yy39; 437 if (yych == 'o') goto yy47;
385 goto yy18; 438 goto yy18;
386yy36: 439yy42:
440 yych = *++YYCURSOR;
441 if (yybm[0+yych] & 64) {
442 goto yy42;
443 }
444 if (yych <= '\r') goto yy18;
445 if (yych <= '"') goto yy48;
446 goto yy49;
447yy44:
387 yych = *++YYCURSOR; 448 yych = *++YYCURSOR;
388 if (yych <= 0x1F) { 449 if (yych <= 0x1F) {
389 if (yych == '\t') goto yy36; 450 if (yych == '\t') goto yy44;
390 goto yy18; 451 goto yy18;
391 } else { 452 } else {
392 if (yych <= ' ') goto yy36; 453 if (yych <= ' ') goto yy44;
393 if (yych == '"') { 454 if (yych == '"') {
394 yyt3 = YYCURSOR; 455 yyt3 = YYCURSOR;
395 goto yy40; 456 goto yy51;
396 } 457 }
397 goto yy18; 458 goto yy18;
398 } 459 }
399yy38: 460yy46:
400 yych = *++YYCURSOR; 461 yych = *++YYCURSOR;
401 if (yych == 'i') goto yy42; 462 if (yych == 'i') goto yy53;
402 goto yy18; 463 goto yy18;
403yy39: 464yy47:
404 yych = *++YYCURSOR; 465 yych = *++YYCURSOR;
405 if (yych == 'n') goto yy43; 466 if (yych == 'n') goto yy54;
406 goto yy18; 467 goto yy18;
407yy40: 468yy48:
469 ++YYCURSOR;
470 goto yy37;
471yy49:
408 yych = *++YYCURSOR; 472 yych = *++YYCURSOR;
409 if (yybm[0+yych] & 64) { 473 if (yybm[0+yych] & 64) {
410 goto yy40; 474 goto yy42;
411 } 475 }
412 if (yych <= '\r') goto yy18; 476 if (yych <= '\r') goto yy18;
413 if (yych <= '"') goto yy44; 477 if (yych <= '"') goto yy55;
414 goto yy46; 478 goto yy49;
415yy42: 479yy51:
480 yych = *++YYCURSOR;
481 if (yych <= '\r') {
482 if (yych == '\n') goto yy18;
483 if (yych <= '\f') goto yy51;
484 goto yy18;
485 } else {
486 if (yych <= '"') {
487 if (yych <= '!') goto yy51;
488 goto yy56;
489 } else {
490 if (yych == '\\') goto yy58;
491 goto yy51;
492 }
493 }
494yy53:
416 yych = *++YYCURSOR; 495 yych = *++YYCURSOR;
417 if (yych == 'o') goto yy48; 496 if (yych == 'o') goto yy60;
418 goto yy18; 497 goto yy18;
419yy43: 498yy54:
420 yych = *++YYCURSOR; 499 yych = *++YYCURSOR;
421 if (yych == 'd') goto yy49; 500 if (yych == 'd') goto yy61;
422 goto yy18; 501 goto yy18;
423yy44: 502yy55:
503 yyaccept = 2;
504 yych = *(YYMARKER = ++YYCURSOR);
505 if (yybm[0+yych] & 64) {
506 goto yy42;
507 }
508 if (yych <= '\r') goto yy37;
509 if (yych <= '"') goto yy48;
510 goto yy49;
511yy56:
424 yych = *++YYCURSOR; 512 yych = *++YYCURSOR;
425 yyt4 = YYCURSOR; 513 yyt4 = YYCURSOR;
426 goto yy51; 514 goto yy63;
427yy45: 515yy57:
428 t1 = yyt1; 516 t1 = yyt1;
429 t2 = yyt2; 517 t2 = yyt2;
430 t3 = yyt3; 518 t3 = yyt3;
@@ -440,133 +528,142 @@ yy45:
440 zend_hash_str_add_ptr(&vars, key, keylen, tmp); 528 zend_hash_str_add_ptr(&vars, key, keylen, tmp);
441 goto yyc_init; 529 goto yyc_init;
442 } 530 }
443yy46: 531yy58:
444 yych = *++YYCURSOR; 532 yych = *++YYCURSOR;
445 if (yybm[0+yych] & 64) { 533 if (yych <= '\r') {
446 goto yy40; 534 if (yych == '\n') goto yy18;
535 if (yych <= '\f') goto yy51;
536 goto yy18;
537 } else {
538 if (yych <= '"') {
539 if (yych <= '!') goto yy51;
540 goto yy65;
541 } else {
542 if (yych == '\\') goto yy58;
543 goto yy51;
544 }
447 } 545 }
448 if (yych <= '\r') goto yy18; 546yy60:
449 if (yych <= '"') goto yy53;
450 goto yy46;
451yy48:
452 yych = *++YYCURSOR; 547 yych = *++YYCURSOR;
453 if (yych == 'n') goto yy54; 548 if (yych == 'n') goto yy66;
454 goto yy18; 549 goto yy18;
455yy49: 550yy61:
456 yych = *++YYCURSOR; 551 yych = *++YYCURSOR;
457 if (yych == 'i') goto yy55; 552 if (yych == 'i') goto yy67;
458 goto yy18; 553 goto yy18;
459yy50: 554yy62:
460 yych = *++YYCURSOR; 555 yych = *++YYCURSOR;
461yy51: 556yy63:
462 if (yych <= 0x1F) { 557 if (yych <= 0x1F) {
463 if (yych == '\t') goto yy50; 558 if (yych == '\t') goto yy62;
464 goto yy45; 559 goto yy57;
465 } else { 560 } else {
466 if (yych <= ' ') goto yy50; 561 if (yych <= ' ') goto yy62;
467 if (yych != ';') goto yy45; 562 if (yych != ';') goto yy57;
468 } 563 }
469 ++YYCURSOR; 564 ++YYCURSOR;
470 goto yy45; 565 goto yy57;
471yy53: 566yy65:
472 yyaccept = 1; 567 yyaccept = 3;
473 yych = *(YYMARKER = ++YYCURSOR); 568 yych = *(YYMARKER = ++YYCURSOR);
474 if (yybm[0+yych] & 128) { 569 if (yych <= ' ') {
475 goto yy46;
476 }
477 if (yych <= 0x1F) {
478 if (yych <= '\n') { 570 if (yych <= '\n') {
479 if (yych <= 0x08) goto yy40; 571 if (yych <= 0x08) goto yy51;
480 if (yych <= '\t') { 572 if (yych <= '\t') {
481 yyt4 = YYCURSOR; 573 yyt4 = YYCURSOR;
482 goto yy56; 574 goto yy68;
483 } 575 }
484 yyt4 = YYCURSOR; 576 yyt4 = YYCURSOR;
485 goto yy45; 577 goto yy57;
486 } else { 578 } else {
487 if (yych == '\r') { 579 if (yych == '\r') {
488 yyt4 = YYCURSOR; 580 yyt4 = YYCURSOR;
489 goto yy45; 581 goto yy57;
490 } 582 }
491 goto yy40; 583 if (yych <= 0x1F) goto yy51;
584 yyt4 = YYCURSOR;
585 goto yy68;
492 } 586 }
493 } else { 587 } else {
494 if (yych <= '"') { 588 if (yych <= ':') {
495 if (yych <= ' ') { 589 if (yych == '"') goto yy56;
496 yyt4 = YYCURSOR; 590 goto yy51;
497 goto yy56;
498 }
499 if (yych <= '!') goto yy40;
500 goto yy44;
501 } else { 591 } else {
502 if (yych == ';') { 592 if (yych <= ';') {
503 yyt4 = YYCURSOR; 593 yyt4 = YYCURSOR;
504 goto yy58; 594 goto yy70;
505 } 595 }
506 goto yy40; 596 if (yych == '\\') goto yy58;
597 goto yy51;
507 } 598 }
508 } 599 }
509yy54: 600yy66:
510 yych = *++YYCURSOR; 601 yych = *++YYCURSOR;
511 if (yych == '\t') goto yy59; 602 if (yych == '\t') goto yy71;
512 if (yych == ' ') goto yy59; 603 if (yych == ' ') goto yy71;
513 goto yy18; 604 goto yy18;
514yy55: 605yy67:
515 yych = *++YYCURSOR; 606 yych = *++YYCURSOR;
516 if (yych == 't') goto yy62; 607 if (yych == 't') goto yy74;
517 goto yy18; 608 goto yy18;
518yy56: 609yy68:
519 yyaccept = 2; 610 yyaccept = 4;
520 yych = *(YYMARKER = ++YYCURSOR); 611 yych = *(YYMARKER = ++YYCURSOR);
521 if (yybm[0+yych] & 128) { 612 if (yych <= ' ') {
522 goto yy46;
523 }
524 if (yych <= 0x1F) {
525 if (yych <= '\n') { 613 if (yych <= '\n') {
526 if (yych <= 0x08) goto yy40; 614 if (yych <= 0x08) goto yy51;
527 if (yych <= '\t') goto yy56; 615 if (yych <= '\t') goto yy68;
528 goto yy45; 616 goto yy57;
529 } else { 617 } else {
530 if (yych == '\r') goto yy45; 618 if (yych == '\r') goto yy57;
531 goto yy40; 619 if (yych <= 0x1F) goto yy51;
620 goto yy68;
532 } 621 }
533 } else { 622 } else {
534 if (yych <= '"') { 623 if (yych <= ':') {
535 if (yych <= ' ') goto yy56; 624 if (yych == '"') goto yy56;
536 if (yych <= '!') goto yy40; 625 goto yy51;
537 goto yy44;
538 } else { 626 } else {
539 if (yych != ';') goto yy40; 627 if (yych <= ';') goto yy70;
628 if (yych == '\\') goto yy58;
629 goto yy51;
540 } 630 }
541 } 631 }
542yy58: 632yy70:
543 yyaccept = 2; 633 yyaccept = 4;
544 yych = *(YYMARKER = ++YYCURSOR); 634 yych = *(YYMARKER = ++YYCURSOR);
545 if (yybm[0+yych] & 64) { 635 if (yych <= '\r') {
546 goto yy40; 636 if (yych == '\n') goto yy57;
637 if (yych <= '\f') goto yy51;
638 goto yy57;
639 } else {
640 if (yych <= '"') {
641 if (yych <= '!') goto yy51;
642 goto yy56;
643 } else {
644 if (yych == '\\') goto yy58;
645 goto yy51;
646 }
547 } 647 }
548 if (yych <= '\r') goto yy45; 648yy71:
549 if (yych <= '"') goto yy44;
550 goto yy46;
551yy59:
552 yych = *++YYCURSOR; 649 yych = *++YYCURSOR;
553 if (yych == '\t') goto yy59; 650 if (yych == '\t') goto yy71;
554 if (yych == ' ') goto yy59; 651 if (yych == ' ') goto yy71;
555 { goto yyc_cond; } 652 { goto yyc_cond; }
556yy62: 653yy74:
557 yych = *++YYCURSOR; 654 yych = *++YYCURSOR;
558 if (yych != 'i') goto yy18; 655 if (yych != 'i') goto yy18;
559 yych = *++YYCURSOR; 656 yych = *++YYCURSOR;
560 if (yych != 'o') goto yy18; 657 if (yych != 'o') goto yy18;
561 yych = *++YYCURSOR; 658 yych = *++YYCURSOR;
562 if (yych != 'n') goto yy18; 659 if (yych != 'n') goto yy18;
563yy65: 660yy77:
564 yych = *++YYCURSOR; 661 yych = *++YYCURSOR;
565 if (yych <= 0x1F) { 662 if (yych <= 0x1F) {
566 if (yych == '\t') goto yy65; 663 if (yych == '\t') goto yy77;
567 goto yy18; 664 goto yy18;
568 } else { 665 } else {
569 if (yych <= ' ') goto yy65; 666 if (yych <= ' ') goto yy77;
570 if (yych != ';') goto yy18; 667 if (yych != ';') goto yy18;
571 } 668 }
572 ++YYCURSOR; 669 ++YYCURSOR;
@@ -611,124 +708,124 @@ yyc_cond:
611 }; 708 };
612 yych = *YYCURSOR; 709 yych = *YYCURSOR;
613 if (yybm[0+yych] & 8) { 710 if (yybm[0+yych] & 8) {
614 goto yy73; 711 goto yy85;
615 } 712 }
616 if (yych <= '(') { 713 if (yych <= '(') {
617 if (yych <= '\r') { 714 if (yych <= '\r') {
618 if (yych <= 0x08) goto yy71; 715 if (yych <= 0x08) goto yy83;
619 if (yych <= '\n') goto yy76; 716 if (yych <= '\n') goto yy88;
620 if (yych >= '\r') goto yy78; 717 if (yych >= '\r') goto yy90;
621 } else { 718 } else {
622 if (yych <= 0x1F) goto yy71; 719 if (yych <= 0x1F) goto yy83;
623 if (yych <= '!') goto yy79; 720 if (yych <= '!') goto yy91;
624 if (yych >= '(') goto yy81; 721 if (yych >= '(') goto yy93;
625 } 722 }
626 } else { 723 } else {
627 if (yych <= 'Z') { 724 if (yych <= 'Z') {
628 if (yych <= '/') goto yy71; 725 if (yych <= '/') goto yy83;
629 if (yych <= '9') { 726 if (yych <= '9') {
630 yyt1 = YYCURSOR; 727 yyt1 = YYCURSOR;
631 goto yy83; 728 goto yy95;
632 } 729 }
633 if (yych >= 'A') { 730 if (yych >= 'A') {
634 yyt1 = YYCURSOR; 731 yyt1 = YYCURSOR;
635 goto yy86; 732 goto yy98;
636 } 733 }
637 } else { 734 } else {
638 if (yych <= '_') { 735 if (yych <= '_') {
639 if (yych >= '_') { 736 if (yych >= '_') {
640 yyt1 = YYCURSOR; 737 yyt1 = YYCURSOR;
641 goto yy86; 738 goto yy98;
642 } 739 }
643 } else { 740 } else {
644 if (yych <= '`') goto yy71; 741 if (yych <= '`') goto yy83;
645 if (yych <= 'z') { 742 if (yych <= 'z') {
646 yyt1 = YYCURSOR; 743 yyt1 = YYCURSOR;
647 goto yy86; 744 goto yy98;
648 } 745 }
649 } 746 }
650 } 747 }
651 } 748 }
652yy71: 749yy83:
653 ++YYCURSOR; 750 ++YYCURSOR;
654yy72: 751yy84:
655 { cs_error_log("Syntax error in condition on line %d", lineno); goto out; } 752 { cs_log_error("Syntax error in condition on line %d", lineno); goto out; }
656yy73: 753yy85:
657 yych = *++YYCURSOR; 754 yych = *++YYCURSOR;
658 if (yybm[0+yych] & 8) { 755 if (yybm[0+yych] & 8) {
659 goto yy73; 756 goto yy85;
660 } 757 }
661 { goto yyc_cond; } 758 { goto yyc_cond; }
662yy76: 759yy88:
663 ++YYCURSOR; 760 ++YYCURSOR;
664 { lineno++; goto yyc_cond; } 761 { lineno++; goto yyc_cond; }
665yy78: 762yy90:
666 yych = *++YYCURSOR; 763 yych = *++YYCURSOR;
667 if (yych == '\n') goto yy76; 764 if (yych == '\n') goto yy88;
668 goto yy72; 765 goto yy84;
669yy79: 766yy91:
670 ++YYCURSOR; 767 ++YYCURSOR;
671 t1 = YYCURSOR - 1; 768 t1 = YYCURSOR - 1;
672 { sy_op_push(*t1); goto yyc_cond; } 769 { sy_op_push(*t1); goto yyc_cond; }
673yy81: 770yy93:
674 ++YYCURSOR; 771 ++YYCURSOR;
675 t1 = YYCURSOR - 1; 772 t1 = YYCURSOR - 1;
676 { sy_op_push(*t1); goto yyc_cond; } 773 { sy_op_push(*t1); goto yyc_cond; }
677yy83: 774yy95:
678 yych = *++YYCURSOR; 775 yych = *++YYCURSOR;
679 if (yybm[0+yych] & 16) { 776 if (yybm[0+yych] & 16) {
680 goto yy83; 777 goto yy95;
681 } 778 }
682 t1 = yyt1; 779 t1 = yyt1;
683 t2 = YYCURSOR; 780 t2 = YYCURSOR;
684 { sy_res_push(atoi(t1)); goto yyc_cond_op; } 781 { sy_res_push(atoi(t1)); goto yyc_cond_op; }
685yy86: 782yy98:
686 yyaccept = 0; 783 yyaccept = 0;
687 yych = *(YYMARKER = ++YYCURSOR); 784 yych = *(YYMARKER = ++YYCURSOR);
688 if (yybm[0+yych] & 32) { 785 if (yybm[0+yych] & 32) {
689 goto yy86; 786 goto yy98;
690 } 787 }
691 if (yych == '(') goto yy89; 788 if (yych == '(') goto yy101;
692yy88: 789yy100:
693 t1 = yyt1; 790 t1 = yyt1;
694 t2 = YYCURSOR; 791 t2 = YYCURSOR;
695 { 792 {
696 zend_string *tmp = zend_hash_str_find_ptr(&vars, t1, t2-t1); 793 zend_string *tmp = zend_hash_str_find_ptr(&vars, t1, t2-t1);
697 if (!tmp) { 794 if (!tmp) {
698 cs_error_log("unknown variable in condition on line %d", lineno); 795 cs_log_error("unknown variable in condition on line %d", lineno);
699 goto out; 796 goto out;
700 } 797 }
701 sy_res_push(atoi(ZSTR_VAL(tmp))); 798 sy_res_push(atoi(ZSTR_VAL(tmp)));
702 goto yyc_cond_op; 799 goto yyc_cond_op;
703 } 800 }
704yy89: 801yy101:
705 yych = *++YYCURSOR; 802 yych = *++YYCURSOR;
706 if (yych == '"') { 803 if (yych == '"') {
707 yyt2 = YYCURSOR; 804 yyt2 = YYCURSOR;
708 goto yy91; 805 goto yy103;
709 } 806 }
710 if (yych == ')') { 807 if (yych == ')') {
711 yyt2 = YYCURSOR; 808 yyt2 = YYCURSOR;
712 goto yy93; 809 goto yy105;
713 } 810 }
714yy90: 811yy102:
715 YYCURSOR = YYMARKER; 812 YYCURSOR = YYMARKER;
716 if (yyaccept == 0) { 813 if (yyaccept == 0) {
717 goto yy88; 814 goto yy100;
718 } else { 815 } else {
719 goto yy94; 816 goto yy106;
720 } 817 }
721yy91: 818yy103:
722 yych = *++YYCURSOR; 819 yych = *++YYCURSOR;
723 if (yybm[0+yych] & 64) { 820 if (yybm[0+yych] & 64) {
724 goto yy91; 821 goto yy103;
725 } 822 }
726 if (yych <= '\r') goto yy90; 823 if (yych <= '\r') goto yy102;
727 if (yych <= '"') goto yy95; 824 if (yych <= '"') goto yy107;
728 goto yy96; 825 goto yy108;
729yy93: 826yy105:
730 ++YYCURSOR; 827 ++YYCURSOR;
731yy94: 828yy106:
732 t1 = yyt1; 829 t1 = yyt1;
733 t3 = yyt2; 830 t3 = yyt2;
734 t2 = yyt2 - 1; 831 t2 = yyt2 - 1;
@@ -738,46 +835,46 @@ yy94:
738 int is_loaded = (zend_hash_str_find_ptr(&module_registry, t3+1, t4-t3-2) != NULL); 835 int is_loaded = (zend_hash_str_find_ptr(&module_registry, t3+1, t4-t3-2) != NULL);
739 sy_res_push(is_loaded); 836 sy_res_push(is_loaded);
740 } else { 837 } else {
741 cs_error_log("unknown function in condition on line %d", lineno); 838 cs_log_error("unknown function in condition on line %d", lineno);
742 goto out; 839 goto out;
743 } 840 }
744 goto yyc_cond_op; 841 goto yyc_cond_op;
745 } 842 }
746yy95: 843yy107:
747 yych = *++YYCURSOR; 844 yych = *++YYCURSOR;
748 if (yych == ')') goto yy93; 845 if (yych == ')') goto yy105;
749 goto yy90; 846 goto yy102;
750yy96: 847yy108:
751 yych = *++YYCURSOR; 848 yych = *++YYCURSOR;
752 if (yybm[0+yych] & 64) { 849 if (yybm[0+yych] & 64) {
753 goto yy91; 850 goto yy103;
754 } 851 }
755 if (yych <= '\r') goto yy90; 852 if (yych <= '\r') goto yy102;
756 if (yych >= '#') goto yy96; 853 if (yych >= '#') goto yy108;
757 yych = *++YYCURSOR; 854 yych = *++YYCURSOR;
758 if (yybm[0+yych] & 128) { 855 if (yybm[0+yych] & 128) {
759 goto yy96; 856 goto yy108;
760 } 857 }
761 if (yych <= '\r') { 858 if (yych <= '\r') {
762 if (yych == '\n') goto yy90; 859 if (yych == '\n') goto yy102;
763 if (yych <= '\f') goto yy91; 860 if (yych <= '\f') goto yy103;
764 goto yy90; 861 goto yy102;
765 } else { 862 } else {
766 if (yych <= '"') { 863 if (yych <= '"') {
767 if (yych <= '!') goto yy91; 864 if (yych <= '!') goto yy103;
768 goto yy95; 865 goto yy107;
769 } else { 866 } else {
770 if (yych != ')') goto yy91; 867 if (yych != ')') goto yy103;
771 } 868 }
772 } 869 }
773 yyaccept = 1; 870 yyaccept = 1;
774 yych = *(YYMARKER = ++YYCURSOR); 871 yych = *(YYMARKER = ++YYCURSOR);
775 if (yybm[0+yych] & 64) { 872 if (yybm[0+yych] & 64) {
776 goto yy91; 873 goto yy103;
777 } 874 }
778 if (yych <= '\r') goto yy94; 875 if (yych <= '\r') goto yy106;
779 if (yych <= '"') goto yy95; 876 if (yych <= '"') goto yy107;
780 goto yy96; 877 goto yy108;
781 } 878 }
782/* *********************************** */ 879/* *********************************** */
783yyc_cond_op: 880yyc_cond_op:
@@ -818,88 +915,88 @@ yyc_cond_op:
818 }; 915 };
819 yych = *YYCURSOR; 916 yych = *YYCURSOR;
820 if (yybm[0+yych] & 128) { 917 if (yybm[0+yych] & 128) {
821 goto yy104; 918 goto yy116;
822 } 919 }
823 if (yych <= ')') { 920 if (yych <= ')') {
824 if (yych <= '\r') { 921 if (yych <= '\r') {
825 if (yych <= 0x08) goto yy102; 922 if (yych <= 0x08) goto yy114;
826 if (yych <= '\n') goto yy107; 923 if (yych <= '\n') goto yy119;
827 if (yych >= '\r') goto yy109; 924 if (yych >= '\r') goto yy121;
828 } else { 925 } else {
829 if (yych == '&') { 926 if (yych == '&') {
830 yyt1 = YYCURSOR; 927 yyt1 = YYCURSOR;
831 goto yy110; 928 goto yy122;
832 } 929 }
833 if (yych >= ')') goto yy111; 930 if (yych >= ')') goto yy123;
834 } 931 }
835 } else { 932 } else {
836 if (yych <= '=') { 933 if (yych <= '=') {
837 if (yych <= ':') goto yy102; 934 if (yych <= ':') goto yy114;
838 if (yych <= ';') goto yy113; 935 if (yych <= ';') goto yy125;
839 if (yych <= '<') { 936 if (yych <= '<') {
840 yyt1 = YYCURSOR; 937 yyt1 = YYCURSOR;
841 goto yy115; 938 goto yy127;
842 } 939 }
843 yyt1 = YYCURSOR; 940 yyt1 = YYCURSOR;
844 goto yy117; 941 goto yy129;
845 } else { 942 } else {
846 if (yych <= '>') { 943 if (yych <= '>') {
847 yyt1 = YYCURSOR; 944 yyt1 = YYCURSOR;
848 goto yy115; 945 goto yy127;
849 } 946 }
850 if (yych == '|') { 947 if (yych == '|') {
851 yyt1 = YYCURSOR; 948 yyt1 = YYCURSOR;
852 goto yy118; 949 goto yy130;
853 } 950 }
854 } 951 }
855 } 952 }
856yy102: 953yy114:
857 ++YYCURSOR; 954 ++YYCURSOR;
858yy103: 955yy115:
859 { cs_error_log("Syntax error in condition on line %d", lineno); goto out; } 956 { cs_log_error("Syntax error in condition on line %d", lineno); goto out; }
860yy104: 957yy116:
861 yych = *++YYCURSOR; 958 yych = *++YYCURSOR;
862 if (yybm[0+yych] & 128) { 959 if (yybm[0+yych] & 128) {
863 goto yy104; 960 goto yy116;
864 } 961 }
865 { goto yyc_cond_op; } 962 { goto yyc_cond_op; }
866yy107: 963yy119:
867 ++YYCURSOR; 964 ++YYCURSOR;
868 { lineno++; goto yyc_cond_op; } 965 { lineno++; goto yyc_cond_op; }
869yy109: 966yy121:
870 yych = *++YYCURSOR; 967 yych = *++YYCURSOR;
871 if (yych == '\n') goto yy107; 968 if (yych == '\n') goto yy119;
872 goto yy103; 969 goto yy115;
873yy110: 970yy122:
874 yych = *++YYCURSOR; 971 yych = *++YYCURSOR;
875 if (yych == '&') goto yy119; 972 if (yych == '&') goto yy131;
876 goto yy103; 973 goto yy115;
877yy111: 974yy123:
878 ++YYCURSOR; 975 ++YYCURSOR;
879 { 976 {
880 while (cond_op_i && sy_op_peek() != '(') { 977 while (cond_op_i && sy_op_peek() != '(') {
881 SY_APPLY_OP_FROM_STACK(); 978 SY_APPLY_OP_FROM_STACK();
882 } 979 }
883 if (cond_op_i == 0 || sy_op_peek() != '(') { 980 if (cond_op_i == 0 || sy_op_peek() != '(') {
884 cs_error_log("unbalanced parathesis on line %d", lineno); goto out; 981 cs_log_error("unbalanced parathesis on line %d", lineno); goto out;
885 } 982 }
886 cond_op_i--; 983 cond_op_i--;
887 goto yyc_cond_op; 984 goto yyc_cond_op;
888 } 985 }
889yy113: 986yy125:
890 ++YYCURSOR; 987 ++YYCURSOR;
891 { 988 {
892 while (cond_op_i) { 989 while (cond_op_i) {
893 if (sy_op_peek() == '(') { cs_error_log("unbalanced parathesis on line %d", lineno); goto out; } 990 if (sy_op_peek() == '(') { cs_log_error("unbalanced parathesis on line %d", lineno); goto out; }
894 SY_APPLY_OP_FROM_STACK(); 991 SY_APPLY_OP_FROM_STACK();
895 } 992 }
896 if (cond_res_i > 1) { cs_error_log("invalid condition on line %d", lineno); goto out; } 993 if (cond_res_i > 1) { cs_log_error("invalid condition on line %d", lineno); goto out; }
897 goto yyc_init; 994 goto yyc_init;
898 } 995 }
899yy115: 996yy127:
900 yych = *++YYCURSOR; 997 yych = *++YYCURSOR;
901 if (yych == '=') goto yy119; 998 if (yych == '=') goto yy131;
902yy116: 999yy128:
903 t1 = yyt1; 1000 t1 = yyt1;
904 t2 = YYCURSOR; 1001 t2 = YYCURSOR;
905 { 1002 {
@@ -916,16 +1013,16 @@ yy116:
916 sy_op_push(*t1); 1013 sy_op_push(*t1);
917 goto yyc_cond; 1014 goto yyc_cond;
918 } 1015 }
919yy117: 1016yy129:
920 yych = *++YYCURSOR; 1017 yych = *++YYCURSOR;
921 if (yych == '=') goto yy119; 1018 if (yych == '=') goto yy131;
922 goto yy103; 1019 goto yy115;
923yy118: 1020yy130:
924 yych = *++YYCURSOR; 1021 yych = *++YYCURSOR;
925 if (yych != '|') goto yy103; 1022 if (yych != '|') goto yy115;
926yy119: 1023yy131:
927 ++YYCURSOR; 1024 ++YYCURSOR;
928 goto yy116; 1025 goto yy128;
929 } 1026 }
930/* *********************************** */ 1027/* *********************************** */
931yyc_rule: 1028yyc_rule:
@@ -966,77 +1063,77 @@ yyc_rule:
966 }; 1063 };
967 yych = *YYCURSOR; 1064 yych = *YYCURSOR;
968 if (yybm[0+yych] & 8) { 1065 if (yybm[0+yych] & 8) {
969 goto yy124; 1066 goto yy136;
970 } 1067 }
971 if (yych <= '\r') { 1068 if (yych <= '\r') {
972 if (yych <= 0x08) goto yy122; 1069 if (yych <= 0x08) goto yy134;
973 if (yych <= '\n') goto yy127; 1070 if (yych <= '\n') goto yy139;
974 if (yych >= '\r') goto yy128; 1071 if (yych >= '\r') goto yy140;
975 } else { 1072 } else {
976 if (yych <= '.') { 1073 if (yych <= '.') {
977 if (yych >= '.') goto yy129; 1074 if (yych >= '.') goto yy141;
978 } else { 1075 } else {
979 if (yych == ';') goto yy130; 1076 if (yych == ';') goto yy142;
980 } 1077 }
981 } 1078 }
982yy122: 1079yy134:
983 ++YYCURSOR; 1080 ++YYCURSOR;
984yy123: 1081yy135:
985 { goto end_of_rule; } 1082 { goto end_of_rule; }
986yy124: 1083yy136:
987 yych = *++YYCURSOR; 1084 yych = *++YYCURSOR;
988 if (yybm[0+yych] & 8) { 1085 if (yybm[0+yych] & 8) {
989 goto yy124; 1086 goto yy136;
990 } 1087 }
991 { goto yyc_rule; } 1088 { goto yyc_rule; }
992yy127: 1089yy139:
993 yyaccept = 0; 1090 yyaccept = 0;
994 yych = *(YYMARKER = ++YYCURSOR); 1091 yych = *(YYMARKER = ++YYCURSOR);
995 if (yych <= '\r') { 1092 if (yych <= '\r') {
996 if (yych <= 0x08) goto yy123; 1093 if (yych <= 0x08) goto yy135;
997 if (yych <= '\n') { 1094 if (yych <= '\n') {
998 yyt1 = YYCURSOR; 1095 yyt1 = YYCURSOR;
999 goto yy132; 1096 goto yy144;
1000 } 1097 }
1001 if (yych <= '\f') goto yy123; 1098 if (yych <= '\f') goto yy135;
1002 yyt1 = YYCURSOR; 1099 yyt1 = YYCURSOR;
1003 goto yy135; 1100 goto yy147;
1004 } else { 1101 } else {
1005 if (yych <= ' ') { 1102 if (yych <= ' ') {
1006 if (yych <= 0x1F) goto yy123; 1103 if (yych <= 0x1F) goto yy135;
1007 yyt1 = YYCURSOR; 1104 yyt1 = YYCURSOR;
1008 goto yy132; 1105 goto yy144;
1009 } else { 1106 } else {
1010 if (yych == '.') { 1107 if (yych == '.') {
1011 yyt1 = YYCURSOR; 1108 yyt1 = YYCURSOR;
1012 goto yy136; 1109 goto yy148;
1013 } 1110 }
1014 goto yy123; 1111 goto yy135;
1015 } 1112 }
1016 } 1113 }
1017yy128: 1114yy140:
1018 yyaccept = 0; 1115 yyaccept = 0;
1019 yych = *(YYMARKER = ++YYCURSOR); 1116 yych = *(YYMARKER = ++YYCURSOR);
1020 if (yych == '\n') goto yy138; 1117 if (yych == '\n') goto yy150;
1021 goto yy123; 1118 goto yy135;
1022yy129: 1119yy141:
1023 yych = *++YYCURSOR; 1120 yych = *++YYCURSOR;
1024 if (yych <= '^') { 1121 if (yych <= '^') {
1025 if (yych <= '@') goto yy123; 1122 if (yych <= '@') goto yy135;
1026 if (yych <= 'Z') { 1123 if (yych <= 'Z') {
1027 yyt1 = YYCURSOR; 1124 yyt1 = YYCURSOR;
1028 goto yy139; 1125 goto yy151;
1029 } 1126 }
1030 goto yy123; 1127 goto yy135;
1031 } else { 1128 } else {
1032 if (yych == '`') goto yy123; 1129 if (yych == '`') goto yy135;
1033 if (yych <= 'z') { 1130 if (yych <= 'z') {
1034 yyt1 = YYCURSOR; 1131 yyt1 = YYCURSOR;
1035 goto yy139; 1132 goto yy151;
1036 } 1133 }
1037 goto yy123; 1134 goto yy135;
1038 } 1135 }
1039yy130: 1136yy142:
1040 ++YYCURSOR; 1137 ++YYCURSOR;
1041 { 1138 {
1042 end_of_rule: 1139 end_of_rule:
@@ -1047,71 +1144,71 @@ yy130:
1047 } 1144 }
1048 goto yyc_init; 1145 goto yyc_init;
1049 } 1146 }
1050yy132: 1147yy144:
1051 yych = *++YYCURSOR; 1148 yych = *++YYCURSOR;
1052 if (yybm[0+yych] & 16) { 1149 if (yybm[0+yych] & 16) {
1053 goto yy132; 1150 goto yy144;
1054 } 1151 }
1055 if (yych == '\r') goto yy135; 1152 if (yych == '\r') goto yy147;
1056 if (yych == '.') goto yy136; 1153 if (yych == '.') goto yy148;
1057yy134: 1154yy146:
1058 YYCURSOR = YYMARKER; 1155 YYCURSOR = YYMARKER;
1059 if (yyaccept <= 1) { 1156 if (yyaccept <= 1) {
1060 if (yyaccept == 0) { 1157 if (yyaccept == 0) {
1061 goto yy123; 1158 goto yy135;
1062 } else { 1159 } else {
1063 yyt3 = yyt4 = NULL; 1160 yyt3 = yyt4 = NULL;
1064 yyt2 = YYCURSOR; 1161 yyt2 = YYCURSOR;
1065 goto yy141; 1162 goto yy153;
1066 } 1163 }
1067 } else { 1164 } else {
1068 goto yy141; 1165 goto yy153;
1069 } 1166 }
1070yy135: 1167yy147:
1071 yych = *++YYCURSOR; 1168 yych = *++YYCURSOR;
1072 if (yych == '\n') goto yy132; 1169 if (yych == '\n') goto yy144;
1073 goto yy134; 1170 goto yy146;
1074yy136: 1171yy148:
1075 ++YYCURSOR; 1172 ++YYCURSOR;
1076 YYCURSOR = yyt1; 1173 YYCURSOR = yyt1;
1077 { lineno++; goto yyc_rule; } 1174 { lineno++; goto yyc_rule; }
1078yy138: 1175yy150:
1079 yych = *++YYCURSOR; 1176 yych = *++YYCURSOR;
1080 if (yych <= '\r') { 1177 if (yych <= '\r') {
1081 if (yych <= 0x08) goto yy134; 1178 if (yych <= 0x08) goto yy146;
1082 if (yych <= '\n') { 1179 if (yych <= '\n') {
1083 yyt1 = YYCURSOR; 1180 yyt1 = YYCURSOR;
1084 goto yy132; 1181 goto yy144;
1085 } 1182 }
1086 if (yych <= '\f') goto yy134; 1183 if (yych <= '\f') goto yy146;
1087 yyt1 = YYCURSOR; 1184 yyt1 = YYCURSOR;
1088 goto yy135; 1185 goto yy147;
1089 } else { 1186 } else {
1090 if (yych <= ' ') { 1187 if (yych <= ' ') {
1091 if (yych <= 0x1F) goto yy134; 1188 if (yych <= 0x1F) goto yy146;
1092 yyt1 = YYCURSOR; 1189 yyt1 = YYCURSOR;
1093 goto yy132; 1190 goto yy144;
1094 } else { 1191 } else {
1095 if (yych == '.') { 1192 if (yych == '.') {
1096 yyt1 = YYCURSOR; 1193 yyt1 = YYCURSOR;
1097 goto yy136; 1194 goto yy148;
1098 } 1195 }
1099 goto yy134; 1196 goto yy146;
1100 } 1197 }
1101 } 1198 }
1102yy139: 1199yy151:
1103 yyaccept = 1; 1200 yyaccept = 1;
1104 yych = *(YYMARKER = ++YYCURSOR); 1201 yych = *(YYMARKER = ++YYCURSOR);
1105 if (yybm[0+yych] & 32) { 1202 if (yybm[0+yych] & 32) {
1106 goto yy139; 1203 goto yy151;
1107 } 1204 }
1108 if (yych == '(') { 1205 if (yych == '(') {
1109 yyt2 = YYCURSOR; 1206 yyt2 = YYCURSOR;
1110 goto yy142; 1207 goto yy154;
1111 } 1208 }
1112 yyt3 = yyt4 = NULL; 1209 yyt3 = yyt4 = NULL;
1113 yyt2 = YYCURSOR; 1210 yyt2 = YYCURSOR;
1114yy141: 1211yy153:
1115 t1 = yyt1; 1212 t1 = yyt1;
1116 t2 = yyt2; 1213 t2 = yyt2;
1117 t3 = yyt3; 1214 t3 = yyt3;
@@ -1119,7 +1216,7 @@ yy141:
1119 { 1216 {
1120 if (!cond_res[0]) { goto yyc_rule; } 1217 if (!cond_res[0]) { goto yyc_rule; }
1121 if (kw_i == max_keywords) { 1218 if (kw_i == max_keywords) {
1122 cs_error_log("Too many keywords in rule (more than %d) on line %d", max_keywords, lineno); 1219 cs_log_error("Too many keywords in rule (more than %d) on line %d", max_keywords, lineno);
1123 goto out; 1220 goto out;
1124 } 1221 }
1125 sp_parsed_keyword kw = {.kw = (char*)t1, .kwlen = t2-t1, .arg = (char*)t3, .arglen = t4-t3, .argtype = SP_ARGTYPE_UNKNOWN, .lineno = lineno}; 1222 sp_parsed_keyword kw = {.kw = (char*)t1, .kwlen = t2-t1, .arg = (char*)t3, .arglen = t4-t3, .argtype = SP_ARGTYPE_UNKNOWN, .lineno = lineno};
@@ -1133,7 +1230,7 @@ yy141:
1133 } else { 1230 } else {
1134 zend_string *tmp = zend_hash_str_find_ptr(&vars, t3, t4-t3); 1231 zend_string *tmp = zend_hash_str_find_ptr(&vars, t3, t4-t3);
1135 if (!tmp) { 1232 if (!tmp) {
1136 cs_error_log("unknown variable on line %d", lineno); 1233 cs_log_error("unknown variable on line %d", lineno);
1137 goto out; 1234 goto out;
1138 } 1235 }
1139 kw.arg = ZSTR_VAL(tmp); 1236 kw.arg = ZSTR_VAL(tmp);
@@ -1146,110 +1243,110 @@ yy141:
1146 parsed_rule[kw_i++] = kw; 1243 parsed_rule[kw_i++] = kw;
1147 goto yyc_rule; 1244 goto yyc_rule;
1148 } 1245 }
1149yy142: 1246yy154:
1150 yych = *++YYCURSOR; 1247 yych = *++YYCURSOR;
1151 if (yych <= '@') { 1248 if (yych <= '@') {
1152 if (yych <= '"') { 1249 if (yych <= '"') {
1153 if (yych <= '!') goto yy134; 1250 if (yych <= '!') goto yy146;
1154 yyt3 = YYCURSOR; 1251 yyt3 = YYCURSOR;
1155 } else { 1252 } else {
1156 if (yych == ')') { 1253 if (yych == ')') {
1157 yyt3 = yyt4 = YYCURSOR; 1254 yyt3 = yyt4 = YYCURSOR;
1158 goto yy145; 1255 goto yy157;
1159 } 1256 }
1160 goto yy134; 1257 goto yy146;
1161 } 1258 }
1162 } else { 1259 } else {
1163 if (yych <= '_') { 1260 if (yych <= '_') {
1164 if (yych <= 'Z') { 1261 if (yych <= 'Z') {
1165 yyt3 = YYCURSOR; 1262 yyt3 = YYCURSOR;
1166 goto yy146; 1263 goto yy158;
1167 } 1264 }
1168 if (yych <= '^') goto yy134; 1265 if (yych <= '^') goto yy146;
1169 yyt3 = YYCURSOR; 1266 yyt3 = YYCURSOR;
1170 goto yy146; 1267 goto yy158;
1171 } else { 1268 } else {
1172 if (yych <= '`') goto yy134; 1269 if (yych <= '`') goto yy146;
1173 if (yych <= 'z') { 1270 if (yych <= 'z') {
1174 yyt3 = YYCURSOR; 1271 yyt3 = YYCURSOR;
1175 goto yy146; 1272 goto yy158;
1176 } 1273 }
1177 goto yy134; 1274 goto yy146;
1178 } 1275 }
1179 } 1276 }
1180yy143: 1277yy155:
1181 yych = *++YYCURSOR; 1278 yych = *++YYCURSOR;
1182 if (yybm[0+yych] & 64) { 1279 if (yybm[0+yych] & 64) {
1183 goto yy143; 1280 goto yy155;
1184 } 1281 }
1185 if (yych <= '\r') goto yy134; 1282 if (yych <= '\r') goto yy146;
1186 if (yych <= '"') goto yy148; 1283 if (yych <= '"') goto yy160;
1187 goto yy149; 1284 goto yy161;
1188yy145: 1285yy157:
1189 ++YYCURSOR; 1286 ++YYCURSOR;
1190 goto yy141; 1287 goto yy153;
1191yy146: 1288yy158:
1192 yych = *++YYCURSOR; 1289 yych = *++YYCURSOR;
1193 if (yych <= '@') { 1290 if (yych <= '@') {
1194 if (yych <= ')') { 1291 if (yych <= ')') {
1195 if (yych <= '(') goto yy134; 1292 if (yych <= '(') goto yy146;
1196 yyt4 = YYCURSOR; 1293 yyt4 = YYCURSOR;
1197 goto yy145; 1294 goto yy157;
1198 } else { 1295 } else {
1199 if (yych <= '/') goto yy134; 1296 if (yych <= '/') goto yy146;
1200 if (yych <= '9') goto yy146; 1297 if (yych <= '9') goto yy158;
1201 goto yy134; 1298 goto yy146;
1202 } 1299 }
1203 } else { 1300 } else {
1204 if (yych <= '_') { 1301 if (yych <= '_') {
1205 if (yych <= 'Z') goto yy146; 1302 if (yych <= 'Z') goto yy158;
1206 if (yych <= '^') goto yy134; 1303 if (yych <= '^') goto yy146;
1207 goto yy146; 1304 goto yy158;
1208 } else { 1305 } else {
1209 if (yych <= '`') goto yy134; 1306 if (yych <= '`') goto yy146;
1210 if (yych <= 'z') goto yy146; 1307 if (yych <= 'z') goto yy158;
1211 goto yy134; 1308 goto yy146;
1212 } 1309 }
1213 } 1310 }
1214yy148: 1311yy160:
1215 yych = *++YYCURSOR; 1312 yych = *++YYCURSOR;
1216 if (yych == ')') { 1313 if (yych == ')') {
1217 yyt4 = YYCURSOR; 1314 yyt4 = YYCURSOR;
1218 goto yy145; 1315 goto yy157;
1219 } 1316 }
1220 goto yy134; 1317 goto yy146;
1221yy149: 1318yy161:
1222 yych = *++YYCURSOR; 1319 yych = *++YYCURSOR;
1223 if (yybm[0+yych] & 64) { 1320 if (yybm[0+yych] & 64) {
1224 goto yy143; 1321 goto yy155;
1225 } 1322 }
1226 if (yych <= '\r') goto yy134; 1323 if (yych <= '\r') goto yy146;
1227 if (yych >= '#') goto yy149; 1324 if (yych >= '#') goto yy161;
1228 yych = *++YYCURSOR; 1325 yych = *++YYCURSOR;
1229 if (yybm[0+yych] & 128) { 1326 if (yybm[0+yych] & 128) {
1230 goto yy149; 1327 goto yy161;
1231 } 1328 }
1232 if (yych <= '\r') { 1329 if (yych <= '\r') {
1233 if (yych == '\n') goto yy134; 1330 if (yych == '\n') goto yy146;
1234 if (yych <= '\f') goto yy143; 1331 if (yych <= '\f') goto yy155;
1235 goto yy134; 1332 goto yy146;
1236 } else { 1333 } else {
1237 if (yych <= '"') { 1334 if (yych <= '"') {
1238 if (yych <= '!') goto yy143; 1335 if (yych <= '!') goto yy155;
1239 goto yy148; 1336 goto yy160;
1240 } else { 1337 } else {
1241 if (yych != ')') goto yy143; 1338 if (yych != ')') goto yy155;
1242 yyt4 = YYCURSOR; 1339 yyt4 = YYCURSOR;
1243 } 1340 }
1244 } 1341 }
1245 yyaccept = 2; 1342 yyaccept = 2;
1246 yych = *(YYMARKER = ++YYCURSOR); 1343 yych = *(YYMARKER = ++YYCURSOR);
1247 if (yybm[0+yych] & 64) { 1344 if (yybm[0+yych] & 64) {
1248 goto yy143; 1345 goto yy155;
1249 } 1346 }
1250 if (yych <= '\r') goto yy141; 1347 if (yych <= '\r') goto yy153;
1251 if (yych <= '"') goto yy148; 1348 if (yych <= '"') goto yy160;
1252 goto yy149; 1349 goto yy161;
1253 } 1350 }
1254} 1351}
1255 1352