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.
---
Pushed under the build-breaker rule.
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 b3063d9ec..c15c917a2 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:
--
2.11.0