]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
shared/clock-util: small modernization
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 12 Jun 2024 08:24:52 +0000 (10:24 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sat, 15 Jun 2024 14:19:35 +0000 (16:19 +0200)
src/shared/clock-util.c
src/shared/clock-util.h

index 83662e75c10d208bf17673067113d0402bc202f1..9bbfdbae2ebba4d7cf4c19122f8635da45ae5341 100644 (file)
@@ -1,6 +1,5 @@
 /* SPDX-License-Identifier: LGPL-2.1-or-later */
 
-#include <linux/rtc.h>
 #include <stdio.h>
 #include <sys/ioctl.h>
 #include <sys/time.h>
@@ -13,8 +12,7 @@
 #include "macro.h"
 #include "string-util.h"
 
-int clock_is_localtime(const char* adjtime_path) {
-        _cleanup_fclose_ FILE *f = NULL;
+int clock_is_localtime(const char *adjtime_path) {
         int r;
 
         if (!adjtime_path)
@@ -27,45 +25,42 @@ int clock_is_localtime(const char* adjtime_path) {
          *   0
          *   UTC
          */
-        f = fopen(adjtime_path, "re");
-        if (f) {
-                _cleanup_free_ char *line = NULL;
-                unsigned i;
-
-                for (i = 0; i < 2; i++) { /* skip the first two lines */
-                        r = read_line(f, LONG_LINE_MAX, NULL);
-                        if (r < 0)
-                                return r;
-                        if (r == 0)
-                                return false; /* less than three lines → default to UTC */
-                }
-
-                r = read_line(f, LONG_LINE_MAX, &line);
+        _cleanup_fclose_ FILE *f = fopen(adjtime_path, "re");
+        if (!f) {
+                if (errno != ENOENT)
+                        return -errno;
+
+                /* adjtime_path not present → default to UTC */
+                return false;
+        }
+
+        _cleanup_free_ char *line = NULL;
+        for (unsigned i = 0; i < 2; i++) { /* skip the first two lines */
+                r = read_line(f, LONG_LINE_MAX, NULL);
                 if (r < 0)
                         return r;
                 if (r == 0)
                         return false; /* less than three lines → default to UTC */
+        }
 
-                return streq(line, "LOCAL");
-
-        } else if (errno != ENOENT)
-                return -errno;
+        r = read_line(f, LONG_LINE_MAX, &line);
+        if (r < 0)
+                return r;
+        if (r == 0)
+                return false; /* less than three lines → default to UTC */
 
-        /* adjtime not present → default to UTC */
-        return false;
+        return streq(line, "LOCAL");
 }
 
 int clock_set_timezone(int *ret_minutesdelta) {
         struct timespec ts;
         struct tm tm;
-        int minutesdelta;
-        struct timezone tz;
 
         assert_se(clock_gettime(CLOCK_REALTIME, &ts) == 0);
         assert_se(localtime_r(&ts.tv_sec, &tm));
-        minutesdelta = tm.tm_gmtoff / 60;
+        int minutesdelta = tm.tm_gmtoff / 60;
 
-        tz = (struct timezone) {
+        struct timezone tz = {
                 .tz_minuteswest = -minutesdelta,
                 .tz_dsttime = 0, /* DST_NONE */
         };
index 93fbaeb56e76f1c5df1d8b52f39bda0b70fdd8c5..d8992f6074e06e82357be8431adee6f9113094c8 100644 (file)
@@ -1,7 +1,7 @@
 /* SPDX-License-Identifier: LGPL-2.1-or-later */
 #pragma once
 
-int clock_is_localtime(const charadjtime_path);
+int clock_is_localtime(const char *adjtime_path);
 int clock_set_timezone(int *ret_minutesdelta);
 
 #define EPOCH_CLOCK_FILE "/usr/lib/clock-epoch"