diff options
author | Sukrit Bhatnagar <skrtbhtngr@gmail.com> | 2018-07-24 21:22:25 +0530 |
---|---|---|
committer | Erik Skultety <eskultet@redhat.com> | 2018-07-27 17:21:16 +0200 |
commit | 8d3f2d8508df63431d3286fc085c25ba1886e6e0 (patch) | |
tree | c2178314c511c93cc5bb04e06768ad8874fda4c6 | |
parent | 094c9e811fa3b6bd1eaf4e758badfaee0181b59f (diff) | |
download | libvirt-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.c | 18 |
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 |