]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
update-done: split out run()
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 19 Mar 2025 15:28:50 +0000 (16:28 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 20 Mar 2025 13:36:20 +0000 (14:36 +0100)
src/update-done/update-done.c

index 15836971dfe96c329724a57fe8c86acf7c42a80b..a4289ddf2adebfdc80cf94e9fa067758e30d62c5 100644 (file)
@@ -6,6 +6,7 @@
 
 #include "alloc-util.h"
 #include "fileio.h"
+#include "main-func.h"
 #include "path-util.h"
 #include "selinux-util.h"
 #include "time-util.h"
@@ -40,23 +41,23 @@ static int save_timestamp(const char *dir, struct timespec *ts) {
         return 0;
 }
 
-int main(int argc, char *argv[]) {
+static int run(int argc, char *argv[]) {
         struct stat st;
-        int r, q = 0;
+        int r;
 
         log_setup();
 
-        if (stat("/usr", &st) < 0) {
-                log_error_errno(errno, "Failed to stat /usr: %m");
-                return EXIT_FAILURE;
-        }
+        if (stat("/usr", &st) < 0)
+                return log_error_errno(errno, "Failed to stat /usr: %m");
 
         r = mac_init();
         if (r < 0)
-                return EXIT_FAILURE;
-
-        r = save_timestamp("/etc/", &st.st_mtim);
-        q = save_timestamp("/var/", &st.st_mtim);
+                return r;
 
-        return r < 0 || q < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
+        r = 0;
+        RET_GATHER(r, save_timestamp("/etc/", &st.st_mtim));
+        RET_GATHER(r, save_timestamp("/var/", &st.st_mtim));
+        return r;
 }
+
+DEFINE_MAIN_FUNCTION(run);