X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Flib%2Flttng-ctl%2Ffilter%2Ffilter-visitor-ir-check-binary-op-nesting.c;h=aa3edd592378ea60c5df4af7895ee6d7e267d805;hp=bb9fd12e39950e0702772ef085856016ef659e7b;hb=831b702b8e8914a3ca3b4905a55aed93c7d30bbf;hpb=d00c599e39ae45ec7c8e12e6bac6b5e58f08f817 diff --git a/src/lib/lttng-ctl/filter/filter-visitor-ir-check-binary-op-nesting.c b/src/lib/lttng-ctl/filter/filter-visitor-ir-check-binary-op-nesting.c index bb9fd12e3..aa3edd592 100644 --- a/src/lib/lttng-ctl/filter/filter-visitor-ir-check-binary-op-nesting.c +++ b/src/lib/lttng-ctl/filter/filter-visitor-ir-check-binary-op-nesting.c @@ -30,6 +30,8 @@ #include "filter-parser.h" #include "filter-ir.h" +#include + static int check_bin_op_nesting_recursive(struct ir_op *node, int nesting) { @@ -51,16 +53,12 @@ int check_bin_op_nesting_recursive(struct ir_op *node, int nesting) { int ret; - if (nesting > 0) { - fprintf(stderr, "[error] Nesting of binary operators is not allowed, except for logical operators.\n"); - return -EINVAL; - } ret = check_bin_op_nesting_recursive(node->u.binary.left, - nesting++); + nesting + 1); if (ret) return ret; return check_bin_op_nesting_recursive(node->u.binary.right, - nesting++); + nesting + 1); } case IR_OP_LOGICAL: { @@ -76,7 +74,7 @@ int check_bin_op_nesting_recursive(struct ir_op *node, int nesting) } } -__attribute__((visibility("hidden"))) +LTTNG_HIDDEN int filter_visitor_ir_check_binary_op_nesting(struct filter_parser_ctx *ctx) { return check_bin_op_nesting_recursive(ctx->ir_root, 0);