X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Flib%2Flttng-ctl%2Ffilter%2Ffilter-visitor-xml.c;h=24d618ac9b45920cdb02393d26ae87f4bd45aaab;hp=90a336dd90d510b3b1f5fe367d4a9a307da9d857;hb=586dc72f727912b4aa381789c418e062bce89d08;hpb=d00c599e39ae45ec7c8e12e6bac6b5e58f08f817 diff --git a/src/lib/lttng-ctl/filter/filter-visitor-xml.c b/src/lib/lttng-ctl/filter/filter-visitor-xml.c index 90a336dd9..24d618ac9 100644 --- a/src/lib/lttng-ctl/filter/filter-visitor-xml.c +++ b/src/lib/lttng-ctl/filter/filter-visitor-xml.c @@ -29,6 +29,8 @@ #include "filter-ast.h" #include "filter-parser.h" +#include + #define fprintf_dbg(fd, fmt, args...) fprintf(fd, "%s: " fmt, __func__, ## args) static @@ -71,9 +73,12 @@ int recursive_visit_print_expression(struct filter_node *node, fprintf(stream, "\n", node->u.expression.u.float_constant); break; - case AST_EXP_IDENTIFIER: + case AST_EXP_IDENTIFIER: /* fall-through */ + case AST_EXP_GLOBAL_IDENTIFIER: print_tabs(stream, indent); - fprintf(stream, "\n", + fprintf(stream, "<%s value=\"%s\"/>\n", + node->u.expression.type == AST_EXP_IDENTIFIER ? + "identifier" : "global_identifier", node->u.expression.u.identifier); while (node->u.expression.next) { print_tabs(stream, indent); @@ -235,6 +240,9 @@ int recursive_visit_print(struct filter_node *node, FILE *stream, int indent) case AST_UNARY_NOT: fprintf(stream, "\"!\""); break; + case AST_UNARY_BIN_NOT: + fprintf(stream, "\"~\""); + break; } fprintf(stream, ">\n"); ret = recursive_visit_print(node->u.unary_op.child, @@ -246,7 +254,7 @@ int recursive_visit_print(struct filter_node *node, FILE *stream, int indent) return 0; } -__attribute__((visibility("hidden"))) +LTTNG_HIDDEN int filter_visitor_print_xml(struct filter_parser_ctx *ctx, FILE *stream, int indent) {