MCPcopy Create free account
hub / github.com/apache/httpd / expr_dump_tree

Function expr_dump_tree

server/util_expr_eval.c:569–709  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

567#define CASE_OP(op) case op: name = #op ; break;
568
569static void expr_dump_tree(const ap_expr_t *e, const server_rec *s,
570 int loglevel, int indent)
571{
572 switch (e->node_op) {
573 /* no arg */
574 case op_NOP:
575 case op_True:
576 case op_False:
577 {
578 char *name;
579 switch (e->node_op) {
580 CASE_OP(op_NOP);
581 CASE_OP(op_True);
582 CASE_OP(op_False);
583 default:
584 ap_assert(0);
585 }
586 ap_log_error(MARK, "%*s%s", indent, " ", name);
587 }
588 break;
589
590 /* arg1: string, arg2: expr */
591 case op_UnaryOpCall:
592 case op_BinaryOpCall:
593 case op_BinaryOpArgs:
594 {
595 char *name;
596 switch (e->node_op) {
597 CASE_OP(op_BinaryOpCall);
598 CASE_OP(op_UnaryOpCall);
599 CASE_OP(op_BinaryOpArgs);
600 default:
601 ap_assert(0);
602 }
603 DUMP_S_E(name, e->node_arg1, e->node_arg2);
604 }
605 break;
606
607 /* arg1: expr, arg2: expr */
608 case op_Comp:
609 case op_Not:
610 case op_Or:
611 case op_And:
612 case op_EQ:
613 case op_NE:
614 case op_LT:
615 case op_LE:
616 case op_GT:
617 case op_GE:
618 case op_STR_EQ:
619 case op_STR_NE:
620 case op_STR_LT:
621 case op_STR_LE:
622 case op_STR_GT:
623 case op_STR_GE:
624 case op_IN:
625 case op_REG:
626 case op_NRE:

Callers 1

ap_expr_parseFunction · 0.85

Calls 1

ap_log_errorFunction · 0.50

Tested by

no test coverage detected