]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
udev/cdrom_id: use a macro to initialize context
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 23 Nov 2021 11:13:56 +0000 (12:13 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 23 Nov 2021 11:31:20 +0000 (12:31 +0100)
c was initialized unconditionally, but one has to look at the function
body to understand this. Let's make the whole thing shorter and more
direct.

src/udev/cdrom_id/cdrom_id.c

index a2185350d393af19552cf9b5ffe147a79dd9bc03..cdb66bb3b7b0b858a0d9816969f3ba23ad3ed5ea 100644 (file)
@@ -102,6 +102,12 @@ typedef struct Context {
         uint64_t media_session_last_offset;
 } Context;
 
+#define CONTEXT_EMPTY {                                 \
+                .fd = -1,                               \
+                .media_feature = _FEATURE_INVALID,      \
+                .media_state = _MEDIA_STATE_INVALID,    \
+        }
+
 static void context_clear(Context *c) {
         if (!c)
                 return;
@@ -110,16 +116,6 @@ static void context_clear(Context *c) {
         free(c->drive_features);
 }
 
-static void context_init(Context *c) {
-        assert(c);
-
-        *c = (Context) {
-                .fd = -1,
-                .media_feature = _FEATURE_INVALID,
-                .media_state = _MEDIA_STATE_INVALID,
-        };
-}
-
 static bool drive_has_feature(const Context *c, Feature f) {
         assert(c);
 
@@ -954,7 +950,7 @@ static int parse_argv(int argc, char *argv[]) {
 }
 
 static int run(int argc, char *argv[]) {
-        _cleanup_(context_clear) Context c;
+        _cleanup_(context_clear) Context c = CONTEXT_EMPTY;
         int r;
 
         log_set_target(LOG_TARGET_AUTO);
@@ -962,8 +958,6 @@ static int run(int argc, char *argv[]) {
         log_parse_environment();
         log_open();
 
-        context_init(&c);
-
         r = parse_argv(argc, argv);
         if (r <= 0)
                 return r;