Fix: handle unknown enum mapping
[babeltrace.git] / plugins / text / pretty / print.c
index 97e9bf11ce1aa3bb9a73cba8a60ea35da8220720..11cd18831ab67fecdfa821a7f53418238a0553de 100644 (file)
@@ -849,11 +849,17 @@ enum bt_component_status print_enum(struct pretty_component *pretty,
                iter = bt_ctf_field_type_enumeration_find_mappings_by_unsigned_value(
                                enumeration_field_type, value);
        }
+       g_string_append(pretty->string, "( ");
        if (!iter) {
-               ret = BT_COMPONENT_STATUS_ERROR;
-               goto end;
+               if (pretty->use_colors) {
+                       g_string_append(pretty->string, COLOR_UNKNOWN);
+               }
+               g_string_append(pretty->string, "<unknown>");
+               if (pretty->use_colors) {
+                       g_string_append(pretty->string, COLOR_RST);
+               }
+               goto skip_loop;
        }
-       g_string_append(pretty->string, "( ");
        for (;;) {
                const char *mapping_name;
 
@@ -875,15 +881,7 @@ enum bt_component_status print_enum(struct pretty_component *pretty,
                        break;
                }
        }
-       if (!nr_mappings) {
-               if (pretty->use_colors) {
-                       g_string_append(pretty->string, COLOR_UNKNOWN);
-               }
-               g_string_append(pretty->string, "<unknown>");
-               if (pretty->use_colors) {
-                       g_string_append(pretty->string, COLOR_RST);
-               }
-       }
+skip_loop:
        g_string_append(pretty->string, " : container = ");
        ret = print_integer(pretty, container_field);
        if (ret != BT_COMPONENT_STATUS_OK) {
This page took 0.023683 seconds and 4 git commands to generate.