summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSukrit Bhatnagar <skrtbhtngr@gmail.com>2018-07-24 21:22:25 +0530
committerErik Skultety <eskultet@redhat.com>2018-07-27 17:21:16 +0200
commit8d3f2d8508df63431d3286fc085c25ba1886e6e0 (patch)
treec2178314c511c93cc5bb04e06768ad8874fda4c6
parent094c9e811fa3b6bd1eaf4e758badfaee0181b59f (diff)
downloadlibvirt-8d3f2d8508df63431d3286fc085c25ba1886e6e0.tar.gz
util: usb: use VIR_AUTOFREE instead of VIR_FREE for scalar types
By making use of GNU C's cleanup attribute handled by the VIR_AUTOFREE macro for declaring scalar variables, majority of the VIR_FREE calls can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar <skrtbhtngr@gmail.com> Reviewed-by: Erik Skultety <eskultet@redhat.com>
-rw-r--r--src/util/virusb.c18
1 files changed, 7 insertions, 11 deletions
diff --git a/src/util/virusb.c b/src/util/virusb.c
index 90f947bb9d..47b407b7e5 100644
--- a/src/util/virusb.c
+++ b/src/util/virusb.c
@@ -90,29 +90,25 @@ VIR_ONCE_GLOBAL_INIT(virUSB)
static int virUSBSysReadFile(const char *f_name, const char *d_name,
int base, unsigned int *value)
{
- int ret = -1, tmp;
- char *buf = NULL;
- char *filename = NULL;
+ int tmp;
+ VIR_AUTOFREE(char *) buf = NULL;
+ VIR_AUTOFREE(char *) filename = NULL;
char *ignore = NULL;
tmp = virAsprintf(&filename, USB_SYSFS "/devices/%s/%s", d_name, f_name);
if (tmp < 0)
- goto cleanup;
+ return -1;
if (virFileReadAll(filename, 1024, &buf) < 0)
- goto cleanup;
+ return -1;
if (virStrToLong_ui(buf, &ignore, base, value) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Could not parse usb file %s"), filename);
- goto cleanup;
+ return -1;
}
- ret = 0;
- cleanup:
- VIR_FREE(filename);
- VIR_FREE(buf);
- return ret;
+ return 0;
}
static virUSBDeviceListPtr