Implement per-context filtering
[lttng-tools.git] / src / lib / lttng-ctl / filter / filter-visitor-xml.c
index 90a336dd90d510b3b1f5fe367d4a9a307da9d857..24d618ac9b45920cdb02393d26ae87f4bd45aaab 100644 (file)
@@ -29,6 +29,8 @@
 #include "filter-ast.h"
 #include "filter-parser.h"
 
+#include <common/macros.h>
+
 #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, "<float_constant value=\"%lg\"/>\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, "<identifier value=\"%s\"/>\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)
 {
This page took 0.024721 seconds and 5 git commands to generate.