From: Yu Watanabe Date: Fri, 24 Aug 2018 05:09:17 +0000 (+0900) Subject: libudev-enumerate: use structured initializer X-Git-Tag: v240~720^2~18 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=60fdee32bdacab0b2ca0fd50c1f7a4dabf190fc0;p=thirdparty%2Fsystemd.git libudev-enumerate: use structured initializer --- diff --git a/src/libudev/libudev-enumerate.c b/src/libudev/libudev-enumerate.c index 6b0e5850bd9..41318d0a8db 100644 --- a/src/libudev/libudev-enumerate.c +++ b/src/libudev/libudev-enumerate.c @@ -49,33 +49,37 @@ struct udev_enumerate { * Returns: an enumeration context. **/ _public_ struct udev_enumerate *udev_enumerate_new(struct udev *udev) { - _cleanup_free_ struct udev_enumerate *udev_enumerate = NULL; + _cleanup_(sd_device_enumerator_unrefp) sd_device_enumerator *e = NULL; + struct udev_enumerate *udev_enumerate; int r; - udev_enumerate = new0(struct udev_enumerate, 1); - if (!udev_enumerate) { - errno = ENOMEM; + r = sd_device_enumerator_new(&e); + if (r < 0) { + errno = -r; return NULL; } - r = sd_device_enumerator_new(&udev_enumerate->enumerator); + r = sd_device_enumerator_allow_uninitialized(e); if (r < 0) { errno = -r; return NULL; } - r = sd_device_enumerator_allow_uninitialized(udev_enumerate->enumerator); - if (r < 0) { - errno = -r; + udev_enumerate = new(struct udev_enumerate, 1); + if (!udev_enumerate) { + errno = ENOMEM; return NULL; } - udev_enumerate->n_ref = 1; - udev_enumerate->udev = udev; + *udev_enumerate = (struct udev_enumerate) { + .udev = udev, + .n_ref = 1, + .enumerator = TAKE_PTR(e), + }; udev_list_init(udev, &udev_enumerate->devices_list, false); - return TAKE_PTR(udev_enumerate); + return udev_enumerate; } static struct udev_enumerate *udev_enumerate_free(struct udev_enumerate *udev_enumerate) {