trivial: Never print NULL in the FuFirmware flag output

This commit is contained in:
Richard Hughes 2021-11-26 12:08:11 +00:00
parent 3ffc3fa774
commit cadb2af031

View File

@ -62,6 +62,8 @@ fu_firmware_flag_to_string(FuFirmwareFlags flag)
return "has-checksum"; return "has-checksum";
if (flag == FU_FIRMWARE_FLAG_HAS_VID_PID) if (flag == FU_FIRMWARE_FLAG_HAS_VID_PID)
return "has-vid-pid"; return "has-vid-pid";
if (flag == FU_FIRMWARE_FLAG_DONE_PARSE)
return "done-parse";
return NULL; return NULL;
} }
@ -86,6 +88,8 @@ fu_firmware_flag_from_string(const gchar *flag)
return FU_FIRMWARE_FLAG_HAS_CHECKSUM; return FU_FIRMWARE_FLAG_HAS_CHECKSUM;
if (g_strcmp0(flag, "has-vid-pid") == 0) if (g_strcmp0(flag, "has-vid-pid") == 0)
return FU_FIRMWARE_FLAG_HAS_VID_PID; return FU_FIRMWARE_FLAG_HAS_VID_PID;
if (g_strcmp0(flag, "done-parse") == 0)
return FU_FIRMWARE_FLAG_DONE_PARSE;
return FU_FIRMWARE_FLAG_NONE; return FU_FIRMWARE_FLAG_NONE;
} }
@ -1469,16 +1473,18 @@ fu_firmware_export(FuFirmware *self, FuFirmwareExportFlags flags, XbBuilderNode
if (priv->flags != FU_FIRMWARE_FLAG_NONE) { if (priv->flags != FU_FIRMWARE_FLAG_NONE) {
g_autoptr(GString) tmp = g_string_new(""); g_autoptr(GString) tmp = g_string_new("");
for (guint i = 0; i < 64; i++) { for (guint i = 0; i < 64; i++) {
if ((priv->flags & ((guint64)1 << i)) == 0) guint64 flag = (guint64)1 << i;
if (flag == FU_FIRMWARE_FLAG_DONE_PARSE)
continue; continue;
g_string_append_printf(tmp, if ((priv->flags & flag) == 0)
"%s|", continue;
fu_firmware_flag_to_string((guint64)1 << i)); g_string_append_printf(tmp, "%s|", fu_firmware_flag_to_string(flag));
} }
if (tmp->len > 0) if (tmp->len > 0) {
g_string_truncate(tmp, tmp->len - 1); g_string_truncate(tmp, tmp->len - 1);
fu_xmlb_builder_insert_kv(bn, "flags", tmp->str); fu_xmlb_builder_insert_kv(bn, "flags", tmp->str);
} }
}
fu_xmlb_builder_insert_kv(bn, "id", priv->id); fu_xmlb_builder_insert_kv(bn, "id", priv->id);
fu_xmlb_builder_insert_kx(bn, "idx", priv->idx); fu_xmlb_builder_insert_kx(bn, "idx", priv->idx);
fu_xmlb_builder_insert_kv(bn, "version", priv->version); fu_xmlb_builder_insert_kv(bn, "version", priv->version);