X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=formats%2Fctf-text%2Ftypes%2Fenum.c;h=4a3eac0feecfb93e7f401b4abbf7bee8ada932ab;hp=7a9a948d3e5ee0fbe080e79766578fbac2743391;hb=07bc033e9dbd6de26f3a59728e09cefd1b5f3da6;hpb=ccdb988e746c6c074b4fe884f9c6da44f27a2dcb diff --git a/formats/ctf-text/types/enum.c b/formats/ctf-text/types/enum.c index 7a9a948d..4a3eac0f 100644 --- a/formats/ctf-text/types/enum.c +++ b/formats/ctf-text/types/enum.c @@ -45,23 +45,27 @@ int ctf_text_enum_write(struct stream_pos *ppos, struct definition *definition) pos->field_nr = 0; fprintf(pos->fp, "("); pos->depth++; - ret = generic_rw(ppos, &integer_definition->p); - fprintf(pos->fp, ":"); - qs = enum_definition->value; - assert(qs); - pos->field_nr = 0; - for (i = 0; i < qs->len; i++) { - GQuark q = g_array_index(qs, GQuark, i); - const char *str = g_quark_to_string(q); + if (qs) { + for (i = 0; i < qs->len; i++) { + GQuark q = g_array_index(qs, GQuark, i); + const char *str = g_quark_to_string(q); - assert(str); - if (pos->field_nr++ != 0) - fprintf(pos->fp, ","); - fprintf(pos->fp, " "); - fprintf(pos->fp, "%s", str); + assert(str); + if (pos->field_nr++ != 0) + fprintf(pos->fp, ","); + fprintf(pos->fp, " "); + fprintf(pos->fp, "%s", str); + } + } else { + fprintf(pos->fp, " "); } + + pos->field_nr = 0; + fprintf(pos->fp, " :"); + ret = generic_rw(ppos, &integer_definition->p); + pos->depth--; fprintf(pos->fp, " )"); pos->field_nr = field_nr_saved;