cmdNodeDeviceDumpXML(vshControl *ctl, const vshCmd *cmd)
{
const char *name = NULL;
- virNodeDevicePtr device;
- char *xml;
+ virNodeDevicePtr device = NULL;
+ char *xml = NULL;
+ bool ret = false;
if (vshCommandOptStringReq(ctl, cmd, "device", &name) < 0)
return false;
+
if (!(device = virNodeDeviceLookupByName(ctl->conn, name))) {
- vshError(ctl, "%s '%s'", _("Could not find matching device"), name);
+ vshError(ctl, _("Could not find matching device '%s'"), name);
return false;
}
- xml = virNodeDeviceGetXMLDesc(device, 0);
- if (!xml) {
- virNodeDeviceFree(device);
- return false;
- }
+ if (!(xml = virNodeDeviceGetXMLDesc(device, 0)))
+ goto cleanup;
vshPrint(ctl, "%s\n", xml);
+ ret = true;
+
+cleanup:
VIR_FREE(xml);
virNodeDeviceFree(device);
- return true;
+ return ret;
}
/*
if (vshCommandOptStringReq(ctl, cmd, "device", &name) < 0)
return false;
+
if (!(device = virNodeDeviceLookupByName(ctl->conn, name))) {
- vshError(ctl, "%s '%s'", _("Could not find matching device"), name);
+ vshError(ctl, _("Could not find matching device '%s'"), name);
return false;
}
vshError(ctl, _("Failed to detach device %s"), name);
ret = false;
}
+
virNodeDeviceFree(device);
return ret;
}
if (vshCommandOptStringReq(ctl, cmd, "device", &name) < 0)
return false;
+
if (!(device = virNodeDeviceLookupByName(ctl->conn, name))) {
- vshError(ctl, "%s '%s'", _("Could not find matching device"), name);
+ vshError(ctl, _("Could not find matching device '%s'"), name);
return false;
}
vshError(ctl, _("Failed to re-attach device %s"), name);
ret = false;
}
+
virNodeDeviceFree(device);
return ret;
}
if (vshCommandOptStringReq(ctl, cmd, "device", &name) < 0)
return false;
+
if (!(device = virNodeDeviceLookupByName(ctl->conn, name))) {
- vshError(ctl, "%s '%s'", _("Could not find matching device"), name);
+ vshError(ctl, _("Could not find matching device '%s'"), name);
return false;
}
vshError(ctl, _("Failed to reset device %s"), name);
ret = false;
}
+
virNodeDeviceFree(device);
return ret;
}