From: Mike Yuan Date: Wed, 3 Jan 2024 15:15:14 +0000 (+0800) Subject: logind-session-device: trivial modernizations X-Git-Tag: v256-rc1~1323^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8ccba83fd80b139de81ae6107b0c7115458a5354;p=thirdparty%2Fsystemd.git logind-session-device: trivial modernizations --- diff --git a/src/login/logind-session-device.c b/src/login/logind-session-device.c index c1bc88d0384..cd5c0ec82db 100644 --- a/src/login/logind-session-device.c +++ b/src/login/logind-session-device.c @@ -321,24 +321,25 @@ static int session_device_verify(SessionDevice *sd) { return 0; } -int session_device_new(Session *s, dev_t dev, bool open_device, SessionDevice **out) { +int session_device_new(Session *s, dev_t dev, bool open_device, SessionDevice **ret) { SessionDevice *sd; int r; assert(s); - assert(out); if (!s->seat) return -EPERM; - sd = new0(SessionDevice, 1); + sd = new(SessionDevice, 1); if (!sd) return -ENOMEM; - sd->session = s; - sd->dev = dev; - sd->fd = -EBADF; - sd->type = DEVICE_TYPE_UNKNOWN; + *sd = (SessionDevice) { + .session = s, + .dev = dev, + .fd = -EBADF, + .type = DEVICE_TYPE_UNKNOWN, + }; r = session_device_verify(sd); if (r < 0) @@ -369,7 +370,9 @@ int session_device_new(Session *s, dev_t dev, bool open_device, SessionDevice ** LIST_PREPEND(sd_by_device, sd->device->session_devices, sd); - *out = sd; + if (ret) + *ret = sd; + return 0; error: diff --git a/src/login/logind-session-device.h b/src/login/logind-session-device.h index 04654d12524..06a8f80c060 100644 --- a/src/login/logind-session-device.h +++ b/src/login/logind-session-device.h @@ -27,7 +27,7 @@ struct SessionDevice { LIST_FIELDS(struct SessionDevice, sd_by_device); }; -int session_device_new(Session *s, dev_t dev, bool open_device, SessionDevice **out); +int session_device_new(Session *s, dev_t dev, bool open_device, SessionDevice **ret); SessionDevice *session_device_free(SessionDevice *sd); DEFINE_TRIVIAL_CLEANUP_FUNC(SessionDevice*, session_device_free);