Update pretty-print
[babeltrace.git] / formats / ctf-text / types / enum.c
index 198f7829e7db948890311ebda15c75a0a5054445..cf8cc4fa85d19364cf13e3d1bf3ec5f528ab5153 100644 (file)
@@ -20,7 +20,7 @@
 #include <stdio.h>
 #include <stdint.h>
 
-void ctf_text_enum_write(struct stream_pos *ppos, struct definition *definition)
+int ctf_text_enum_write(struct stream_pos *ppos, struct definition *definition)
 {
        struct definition_enum *enum_definition =
                container_of(definition, struct definition_enum, p);
@@ -28,15 +28,25 @@ void ctf_text_enum_write(struct stream_pos *ppos, struct definition *definition)
                enum_definition->integer;
        struct ctf_text_stream_pos *pos = ctf_text_pos(ppos);
        GArray *qs;
-       int i;
+       int i, ret;
 
        if (pos->dummy)
-               return;
-       print_pos_tabs(pos);
+               return 0;
+
+       if (definition->index != 0 && definition->index != INT_MAX)
+               fprintf(pos->fp, ",");
+       if (definition->index != INT_MAX)
+               fprintf(pos->fp, " ");
+       if (pos->print_names)
+               fprintf(pos->fp, "%s = ",
+                       g_quark_to_string(definition->name));
+
+       //print_pos_tabs(pos);
        fprintf(pos->fp, "(");
        pos->depth++;
-       generic_rw(ppos, &integer_definition->p);
-       print_pos_tabs(pos);
+       ret = generic_rw(ppos, &integer_definition->p);
+       //print_pos_tabs(pos);
+       fprintf(pos->fp, " :");
 
        qs = enum_definition->value;
        assert(qs);
@@ -44,9 +54,14 @@ void ctf_text_enum_write(struct stream_pos *ppos, struct definition *definition)
        for (i = 0; i < qs->len; i++) {
                GQuark q = g_array_index(qs, GQuark, i);
                const char *str = g_quark_to_string(q);
+
+               if (i != 0)
+                       fprintf(pos->fp, ",");
+               fprintf(pos->fp, " ");
                fprintf(pos->fp, "%s\n", str);
        }
        pos->depth--;
-       print_pos_tabs(pos);
-       fprintf(pos->fp, ")");
+       //print_pos_tabs(pos);
+       fprintf(pos->fp, " )");
+       return ret;
 }
This page took 0.023332 seconds and 4 git commands to generate.