]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
logind-session-device: trivial modernizations
authorMike Yuan <me@yhndnzj.com>
Wed, 3 Jan 2024 15:15:14 +0000 (23:15 +0800)
committerMike Yuan <me@yhndnzj.com>
Wed, 3 Jan 2024 15:22:57 +0000 (23:22 +0800)
src/login/logind-session-device.c
src/login/logind-session-device.h

index c1bc88d038473cc4d937920a6a126f9d4b516617..cd5c0ec82dbb7a512e7d4adee67e80adf93dbbb3 100644 (file)
@@ -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:
index 04654d12524aaaea684e80f4b00a9141f7bf596a..06a8f80c060c1a3754752b97f6b59ba5a9590c51 100644 (file)
@@ -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);