]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
analyze: allow verbs to return positive failure
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 17 May 2022 14:25:06 +0000 (16:25 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 19 May 2022 06:02:29 +0000 (08:02 +0200)
No functional change is intended. The verbs where it wasn't immediately
clear if the success exit status is 0 or >= 0 are changed to explicitly
return 0. (I think it's better to be explicit than to rely on some call
stack always returning 0 on success.)

Some other functions are cleaned up to be more idiomatic.

19 files changed:
src/analyze/analyze-blame.c
src/analyze/analyze-calendar.c
src/analyze/analyze-capability.c
src/analyze/analyze-cat-config.c
src/analyze/analyze-condition.c
src/analyze/analyze-critical-chain.c
src/analyze/analyze-dump.c
src/analyze/analyze-exit-status.c
src/analyze/analyze-filesystems.c
src/analyze/analyze-log-control.c
src/analyze/analyze-plot.c
src/analyze/analyze-service-watchdogs.c
src/analyze/analyze-syscall-filter.c
src/analyze/analyze-time.c
src/analyze/analyze-timestamp.c
src/analyze/analyze-unit-files.c
src/analyze/analyze-unit-paths.c
src/analyze/analyze.c
src/shared/verb-log-control.c

index 6cd6846956de2ca1a4dfe319c23d6818bc0d9aed..c9112685f8323d7bf88b65db8873c218382db8f4 100644 (file)
@@ -61,5 +61,9 @@ int verb_blame(int argc, char *argv[], void *userdata) {
 
         pager_open(arg_pager_flags);
 
-        return table_print(table, NULL);
+        r = table_print(table, NULL);
+        if (r < 0)
+                return r;
+
+        return EXIT_SUCCESS;
 }
index 8f6517fa8e52c70b1eb3bf936c1da2eadfa0a41b..952fe95c2cfdc939123ce7365de0642f3faeed0d 100644 (file)
@@ -123,7 +123,7 @@ static int test_calendar_one(usec_t n, const char *p) {
 }
 
 int verb_calendar(int argc, char *argv[], void *userdata) {
-        int ret = 0, r;
+        int r = 0;
         usec_t n;
 
         if (arg_base_time != USEC_INFINITY)
@@ -132,13 +132,15 @@ int verb_calendar(int argc, char *argv[], void *userdata) {
                 n = now(CLOCK_REALTIME); /* We want to use the same "base" for all expressions */
 
         STRV_FOREACH(p, strv_skip(argv, 1)) {
-                r = test_calendar_one(n, *p);
-                if (ret == 0 && r < 0)
-                        ret = r;
+                int k;
 
-                if (*(p + 1))
+                k = test_calendar_one(n, *p);
+                if (r == 0 && k < 0)
+                        r = k;
+
+                if (p[1])
                         putchar('\n');
         }
 
-        return ret;
+        return r;
 }
index ebb205e7f2c493ffe3085fba9276f0fb8f3332ed..8072175a84767f3c47ec0f708c5c93cacb59bc70 100644 (file)
@@ -48,5 +48,9 @@ int verb_capabilities(int argc, char *argv[], void *userdata) {
 
         pager_open(arg_pager_flags);
 
-        return table_print(table, NULL);
+        r = table_print(table, NULL);
+        if (r < 0)
+                return r;
+
+        return EXIT_SUCCESS;
 }
index 85ed8b01e0d5f7e74f35808fab42b9390f599610..d214ceaf4247c55915b2449682c32216996cdda2 100644 (file)
@@ -42,5 +42,5 @@ int verb_cat_config(int argc, char *argv[], void *userdata) {
                         return r;
         }
 
-        return 0;
+        return EXIT_SUCCESS;
 }
index 011066f148b3d474fb577411daf62b614ea3a312..d1643b61802172cd71b95159e5183c7025045b3c 100644 (file)
@@ -137,5 +137,11 @@ static int verify_conditions(char **lines, LookupScope scope, const char *unit,
 }
 
 int verb_condition(int argc, char *argv[], void *userdata) {
-        return verify_conditions(strv_skip(argv, 1), arg_scope, arg_unit, arg_root);
+        int r;
+
+        r = verify_conditions(strv_skip(argv, 1), arg_scope, arg_unit, arg_root);
+        if (r < 0)
+                return r;
+
+        return EXIT_SUCCESS;
 }
index a3d993a37353dcaae7c2aa6288d8737d9bed20ad..bb077e2293fedff0542db4a5153018d542275f07 100644 (file)
@@ -226,5 +226,5 @@ int verb_critical_chain(int argc, char *argv[], void *userdata) {
         else
                 list_dependencies(bus, SPECIAL_DEFAULT_TARGET);
 
-        return 0;
+        return EXIT_SUCCESS;
 }
index 24094ce6149dca6f9b601842271aafc7d4369f65..448ce09bd78cffe1752ddc27e69d756469685264 100644 (file)
@@ -60,5 +60,9 @@ int verb_dump(int argc, char *argv[], void *userdata) {
                 return bus_log_parse_error(r);
 
         fflush(stdout);
-        return copy_bytes(fd, STDOUT_FILENO, UINT64_MAX, 0);
+        r = copy_bytes(fd, STDOUT_FILENO, UINT64_MAX, 0);
+        if (r < 0)
+                return r;
+
+        return EXIT_SUCCESS;
 }
index a3f21c60eaf0e30527932abd9fc1f99f0448e975..3a8d3f4b2a976498775c5ad1f3aed9594fab2122 100644 (file)
@@ -48,5 +48,9 @@ int verb_exit_status(int argc, char *argv[], void *userdata) {
 
         pager_open(arg_pager_flags);
 
-        return table_print(table, NULL);
+        r = table_print(table, NULL);
+        if (r < 0)
+                return r;
+
+        return EXIT_SUCCESS;
 }
index 66d8397e31298e79da2aaa52602172698f214351..e30b3a6ac6d7b8a0aa13a3fbfc08ab251dcf0c18 100644 (file)
@@ -221,5 +221,5 @@ int verb_filesystems(int argc, char *argv[], void *userdata) {
                         first = false;
                 }
 
-        return 0;
+        return EXIT_SUCCESS;
 }
index d31081b6a0b21410df91c3d9ad91f22bc4b8b4b0..cead0e833f5dafde7545158f4cee3bb45470dd46 100644 (file)
@@ -14,5 +14,9 @@ int verb_log_control(int argc, char *argv[], void *userdata) {
         if (r < 0)
                 return bus_log_connect_error(r, arg_transport);
 
-        return verb_log_control_common(bus, "org.freedesktop.systemd1", argv[0], argc == 2 ? argv[1] : NULL);
+        r = verb_log_control_common(bus, "org.freedesktop.systemd1", argv[0], argc == 2 ? argv[1] : NULL);
+        if (r < 0)
+                return r;
+
+        return EXIT_SUCCESS;
 }
index edfdfba1449679d28bbbc0c37dfde2ae37ba7529..100bdc3787c243ea079376ba8d8e3e5a5f3f4426 100644 (file)
@@ -391,5 +391,5 @@ int verb_plot(int argc, char *argv[], void *userdata) {
 
         svg("</svg>\n");
 
-        return 0;
+        return EXIT_SUCCESS;
 }
index 96aed32b55f6bd2eb152ae49d8f13223232bb1c1..6535eb1a894f7fb0426b4b281bf244499316bc7a 100644 (file)
@@ -37,5 +37,5 @@ int verb_service_watchdogs(int argc, char *argv[], void *userdata) {
                         return log_error_errno(r, "Failed to set service-watchdog state: %s", bus_error_message(&error, r));
         }
 
-        return 0;
+        return EXIT_SUCCESS;
 }
index 582a043088fb49d292827946232e1bc4d11375c6..308b1724e5d56d7c20393b5192e8101684448b07 100644 (file)
@@ -176,7 +176,7 @@ int verb_syscall_filters(int argc, char *argv[], void *userdata) {
                         first = false;
                 }
 
-        return 0;
+        return EXIT_SUCCESS;
 }
 
 #else
index e5744a218ef2cb21b556bec3f214f4c43ab8ad25..c233b1f08558e9eb3a55a01dd0c1f8e738ddbc86 100644 (file)
@@ -18,5 +18,5 @@ int verb_time(int argc, char *argv[], void *userdata) {
                 return r;
 
         puts(buf);
-        return 0;
+        return EXIT_SUCCESS;
 }
index ddf34ab75fa4805c23e438a95f3020e3b017d699..79764e014e57d1da16231ee8e44e1e02c6483c36 100644 (file)
@@ -79,16 +79,18 @@ static int test_timestamp_one(const char *p) {
 }
 
 int verb_timestamp(int argc, char *argv[], void *userdata) {
-        int ret = 0, r;
+        int r = 0;
 
         STRV_FOREACH(p, strv_skip(argv, 1)) {
-                r = test_timestamp_one(*p);
-                if (ret == 0 && r < 0)
-                        ret = r;
+                int k;
 
-                if (*(p + 1))
+                k = test_timestamp_one(*p);
+                if (r == 0 && k < 0)
+                        r = k;
+
+                if (p[1])
                         putchar('\n');
         }
 
-        return ret;
+        return r;
 }
index f07ec3e56cd79b8735e3904a9bbbfaacb21f982c..ec9be336e1ab1ed140e42972825b430fc36c9da7 100644 (file)
@@ -46,5 +46,5 @@ int verb_unit_files(int argc, char *argv[], void *userdata) {
                 printf("aliases: %s ← %s\n", k, j);
         }
 
-        return 0;
+        return EXIT_SUCCESS;
 }
index 6fa1527dd6f46ccf9990514c425fed05d74c192b..c2254619bca0084c4a72c478ac6bbead8bac3236 100644 (file)
@@ -16,5 +16,5 @@ int verb_unit_paths(int argc, char *argv[], void *userdata) {
         STRV_FOREACH(p, paths.search_path)
                 puts(*p);
 
-        return 0;
+        return EXIT_SUCCESS;
 }
index cb83e738770f4ed89ac9589029afa0035ec451a0..2935ecea7af52ae03bfe8ca027c0f382a372e545 100644 (file)
@@ -607,4 +607,4 @@ static int run(int argc, char *argv[]) {
         return dispatch_verb(argc, argv, verbs, NULL);
 }
 
-DEFINE_MAIN_FUNCTION(run);
+DEFINE_MAIN_FUNCTION_WITH_POSITIVE_FAILURE(run);
index eea0e8151ab76abac00ddaa64ee341108f5c7344..555fb9ff7cd44498213775c63b06d2bee2fc4beb 100644 (file)
@@ -30,27 +30,22 @@ int verb_log_control_common(sd_bus *bus, const char *destination, const char *ve
                 r = bus_set_property(bus, &bloc,
                                      level ? "LogLevel" : "LogTarget",
                                      &error, "s", value);
-                if (r >= 0)
-                        return 0;
-
-                log_error_errno(r, "Failed to set log %s of %s to %s: %s",
-                                level ? "level" : "target",
-                                bloc.destination, value, bus_error_message(&error, r));
+                if (r < 0)
+                        return log_error_errno(r, "Failed to set log %s of %s to %s: %s",
+                                               level ? "level" : "target",
+                                               bloc.destination, value, bus_error_message(&error, r));
         } else {
                 _cleanup_free_ char *t = NULL;
 
                 r = bus_get_property_string(bus, &bloc,
                                             level ? "LogLevel" : "LogTarget",
                                             &error, &t);
-                if (r >= 0) {
-                        puts(t);
-                        return 0;
-                }
-
-                log_error_errno(r, "Failed to get log %s of %s: %s",
-                                level ? "level" : "target",
-                                bloc.destination, bus_error_message(&error, r));
+                if (r < 0)
+                        return log_error_errno(r, "Failed to get log %s of %s: %s",
+                                               level ? "level" : "target",
+                                               bloc.destination, bus_error_message(&error, r));
+                puts(t);
         }
 
-        return r;
+        return 0;
 }