trivial: Use fu_strtobool() to parse the uSWID compressed attr

This commit is contained in:
Richard Hughes 2022-10-07 13:54:26 +01:00
parent 617137922d
commit a01379f835

View File

@ -13,6 +13,7 @@
#include "fu-common.h" #include "fu-common.h"
#include "fu-coswid-firmware.h" #include "fu-coswid-firmware.h"
#include "fu-mem.h" #include "fu-mem.h"
#include "fu-string.h"
#include "fu-uswid-firmware.h" #include "fu-uswid-firmware.h"
/** /**
@ -68,7 +69,7 @@ fu_uswid_firmware_export(FuFirmware *firmware, FuFirmwareExportFlags flags, XbBu
FuUswidFirmware *self = FU_USWID_FIRMWARE(firmware); FuUswidFirmware *self = FU_USWID_FIRMWARE(firmware);
FuUswidFirmwarePrivate *priv = GET_PRIVATE(self); FuUswidFirmwarePrivate *priv = GET_PRIVATE(self);
fu_xmlb_builder_insert_kx(bn, "hdrver", priv->hdrver); fu_xmlb_builder_insert_kx(bn, "hdrver", priv->hdrver);
fu_xmlb_builder_insert_kx(bn, "compressed", priv->compressed); fu_xmlb_builder_insert_kb(bn, "compressed", priv->compressed);
} }
static gboolean static gboolean
@ -275,6 +276,7 @@ fu_uswid_firmware_build(FuFirmware *firmware, XbNode *n, GError **error)
{ {
FuUswidFirmware *self = FU_USWID_FIRMWARE(firmware); FuUswidFirmware *self = FU_USWID_FIRMWARE(firmware);
FuUswidFirmwarePrivate *priv = GET_PRIVATE(self); FuUswidFirmwarePrivate *priv = GET_PRIVATE(self);
const gchar *str;
guint64 tmp; guint64 tmp;
/* simple properties */ /* simple properties */
@ -283,9 +285,11 @@ fu_uswid_firmware_build(FuFirmware *firmware, XbNode *n, GError **error)
priv->hdrver = tmp; priv->hdrver = tmp;
/* simple properties */ /* simple properties */
tmp = xb_node_query_text_as_uint(n, "compressed", NULL); str = xb_node_query_text(n, "compressed", NULL);
if (tmp != G_MAXUINT64 && tmp <= G_MAXUINT8) if (str != NULL) {
priv->compressed = tmp; if (!fu_strtobool(str, &priv->compressed, error))
return FALSE;
}
/* success */ /* success */
return TRUE; return TRUE;