From d3ffa0ece8b063f34868b0dce51671ac285ebfdd Mon Sep 17 00:00:00 2001 From: Roman Bogorodskiy Date: Sat, 18 Feb 2017 15:46:28 +0400 Subject: [PATCH] nodedev: fix build with clang Build fails with: conf/node_device_conf.c:825:62: error: comparison of unsigned enum expression < 0 is always false [-Werror,-Wtautological-compare] if ((data->drm.type = virNodeDevDRMTypeFromString(type)) < 0) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~ conf/node_device_conf.c:1801:59: error: comparison of unsigned enum expression < 0 is always false [-Werror,-Wtautological-compare] if ((type = virNodeDevDevnodeTypeFromString(tmp)) < 0) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~ 2 errors generated. Fix by using intermediate variable to store the result similarly to how it's done for other FromString* calls. --- src/conf/node_device_conf.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c index b3063d9ec0..c15c917a24 100644 --- a/src/conf/node_device_conf.c +++ b/src/conf/node_device_conf.c @@ -814,7 +814,7 @@ virNodeDevCapDRMParseXML(xmlXPathContextPtr ctxt, virNodeDevCapDataPtr data) { xmlNodePtr orignode; - int ret = -1; + int ret = -1, val; char *type = NULL; orignode = ctxt->node; @@ -822,11 +822,12 @@ virNodeDevCapDRMParseXML(xmlXPathContextPtr ctxt, type = virXPathString("string(./type[1])", ctxt); - if ((data->drm.type = virNodeDevDRMTypeFromString(type)) < 0) { + if ((val = virNodeDevDRMTypeFromString(type)) < 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("unknown drm type '%s' for '%s'"), type, def->name); goto out; } + data->drm.type = val; ret = 0; @@ -1791,6 +1792,7 @@ virNodeDeviceDefParseXML(xmlXPathContextPtr ctxt, xmlNodePtr node = nodes[i]; char *tmp = virXMLPropString(node, "type"); virNodeDevDevnodeType type; + int val; if (!tmp) { virReportError(VIR_ERR_INTERNAL_ERROR, @@ -1798,12 +1800,13 @@ virNodeDeviceDefParseXML(xmlXPathContextPtr ctxt, goto error; } - if ((type = virNodeDevDevnodeTypeFromString(tmp)) < 0) { + if ((val = virNodeDevDevnodeTypeFromString(tmp)) < 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("unknown devnode type '%s'"), tmp); VIR_FREE(tmp); goto error; } + type = val; switch (type) { case VIR_NODE_DEV_DEVNODE_DEV: -- GitLab