]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
tree-wide: propagate error code from _from_string() functions
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 9 Feb 2021 15:06:36 +0000 (16:06 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 10 Feb 2021 13:46:59 +0000 (14:46 +0100)
Now that we know we have something useful, no need to make an answer up.

27 files changed:
src/analyze/analyze.c
src/basic/log.c
src/basic/unit-name.c
src/core/dbus-cgroup.c
src/core/service.c
src/escape/escape.c
src/fstab-generator/fstab-generator.c
src/home/homectl.c
src/journal-remote/journal-remote-main.c
src/journal/journalctl.c
src/journal/journald-context.c
src/libsystemd/sd-device/device-private.c
src/login/loginctl.c
src/network/generator/network-generator.c
src/network/networkd-address.c
src/network/networkd-fdb.c
src/network/wait-online/link.c
src/nspawn/nspawn-oci.c
src/nspawn/nspawn.c
src/oom/oomd-manager.c
src/resolve/resolvectl.c
src/shared/user-record.c
src/shared/volatile-util.c
src/systemctl/systemctl-log-setting.c
src/systemctl/systemctl-show.c
src/systemctl/systemctl-util.c
src/volatile-root/volatile-root.c

index 3b953ac4720f10bd6920e1e5e87d56686f274c4b..c25d11e0de356824cd2cb47f42d9e3dff7d3c5d2 100644 (file)
@@ -1574,7 +1574,7 @@ static int dump_exit_status(int argc, char *argv[], void *userdata) {
 
                         status = exit_status_from_string(argv[i]);
                         if (status < 0)
-                                return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Invalid exit status \"%s\".", argv[i]);
+                                return log_error_errno(status, "Invalid exit status \"%s\".", argv[i]);
 
                         assert(status >= 0 && (size_t) status < ELEMENTSOF(exit_status_mappings));
                         r = table_add_many(table,
index ff501af5699c6cbe03a2f1b34765dac5169b1dde..b9817419ad9b636e0ee7aba465917978572cab95 100644 (file)
@@ -1085,7 +1085,7 @@ int log_set_target_from_string(const char *e) {
 
         t = log_target_from_string(e);
         if (t < 0)
-                return -EINVAL;
+                return t;
 
         log_set_target(t);
         return 0;
@@ -1096,7 +1096,7 @@ int log_set_max_level_from_string(const char *e) {
 
         t = log_level_from_string(e);
         if (t < 0)
-                return -EINVAL;
+                return t;
 
         log_set_max_level(t);
         return 0;
index c1529bbeedf509abc7e2207fba550f59e0fefa7d..532f8fa048c1c5c32ae81754898fb44b75238410 100644 (file)
@@ -252,7 +252,7 @@ int unit_name_build(const char *prefix, const char *instance, const char *suffix
 
         type = unit_type_from_string(suffix + 1);
         if (type < 0)
-                return -EINVAL;
+                return type;
 
         return unit_name_build_from_type(prefix, instance, type, ret);
 }
index 6f309feb236c42750bbca74ac3116908c39bfe7f..a8b438cc82a34039a73429d3aa2fb5ea7fd08bda 100644 (file)
@@ -1452,7 +1452,7 @@ int bus_cgroup_set_property(
 
                 p = cgroup_device_policy_from_string(policy);
                 if (p < 0)
-                        return -EINVAL;
+                        return p;
 
                 if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
                         c->device_policy = p;
index da4b8d72590fc524ee94f867267dd430d42c843c..df3ed05cfc6e8e6114af3b6f52dd0c45816dd858 100644 (file)
@@ -2762,14 +2762,14 @@ static int service_deserialize_exec_command(
                 case STATE_EXEC_COMMAND_TYPE:
                         id = service_exec_command_from_string(arg);
                         if (id < 0)
-                                return -EINVAL;
+                                return id;
 
                         state = STATE_EXEC_COMMAND_INDEX;
                         break;
                 case STATE_EXEC_COMMAND_INDEX:
                         r = safe_atou(arg, &idx);
                         if (r < 0)
-                                return -EINVAL;
+                                return r;
 
                         state = STATE_EXEC_COMMAND_PATH;
                         break;
index a2fdce790eef8581b837e8d634b1d2623aeaf821..3178f9b1724159a12a52e4de42231458db219316 100644 (file)
@@ -82,17 +82,16 @@ static int parse_argv(int argc, char *argv[]) {
                 case ARG_VERSION:
                         return version();
 
-                case ARG_SUFFIX:
-
-                        if (unit_type_from_string(optarg) < 0)
-                                return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
-                                                       "Invalid unit suffix type %s.", optarg);
+                case ARG_SUFFIX: {
+                        UnitType t = unit_type_from_string(optarg);
+                        if (t < 0)
+                                return log_error_errno(t, "Invalid unit suffix type \"%s\".", optarg);
 
                         arg_suffix = optarg;
                         break;
+                }
 
                 case ARG_TEMPLATE:
-
                         if (!unit_name_is_valid(optarg, UNIT_NAME_TEMPLATE))
                                 return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
                                                        "Template name %s is not valid.", optarg);
index 2318b65b0eda4d03ce5203d8a2bbb5567f003fe7..b8862f0793dbc32def79d682a46fc8dbf01e6e02 100644 (file)
@@ -888,7 +888,7 @@ static int parse_proc_cmdline_item(const char *key, const char *value, void *dat
                 if (value) {
                         m = volatile_mode_from_string(value);
                         if (m < 0)
-                                log_warning("Failed to parse systemd.volatile= argument: %s", value);
+                                log_warning_errno(m, "Failed to parse systemd.volatile= argument: %s", value);
                         else
                                 arg_volatile_mode = m;
                 } else
index 176f041114c0f13f125bda72be3afdc8144edcfe..bf35fa03f0d40c3a27c544530ab3a585caf779a9 100644 (file)
@@ -2393,7 +2393,7 @@ static int parse_argv(int argc, char *argv[]) {
 
                         l = rlimit_from_string_harder(field);
                         if (l < 0)
-                                return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Unknown resource limit type: %s", field);
+                                return log_error_errno(l, "Unknown resource limit type: %s", field);
 
                         if (isempty(eq + 1)) {
                                 /* Remove only the specific rlimit */
index 972c13566f652615a17c56871e5fb1ced8d27d6f..b9e793c08cb18cce13382bc93a80297a8dac6178 100644 (file)
@@ -961,16 +961,14 @@ static int parse_argv(int argc, char *argv[]) {
                 case ARG_SPLIT_MODE:
                         arg_split_mode = journal_write_split_mode_from_string(optarg);
                         if (arg_split_mode == _JOURNAL_WRITE_SPLIT_INVALID)
-                                return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
-                                                       "Invalid split mode: %s", optarg);
+                                return log_error_errno(arg_split_mode, "Invalid split mode: %s", optarg);
                         break;
 
                 case ARG_COMPRESS:
                         if (optarg) {
                                 r = parse_boolean(optarg);
                                 if (r < 0)
-                                        return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
-                                                               "Failed to parse --compress= parameter.");
+                                        return log_error_errno(r, "Failed to parse --compress= parameter.");
 
                                 arg_compress = !!r;
                         } else
index 94fc3472beca3ec45690d2884888c3ad4f3d8d76..20b75846435ffe074d23f1aa21f6b9fb79d4875f 100644 (file)
@@ -565,7 +565,7 @@ static int parse_argv(int argc, char *argv[]) {
 
                         arg_output = output_mode_from_string(optarg);
                         if (arg_output < 0)
-                                return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Unknown output format '%s'.", optarg);
+                                return log_error_errno(arg_output, "Unknown output format '%s'.", optarg);
 
                         if (IN_SET(arg_output, OUTPUT_EXPORT, OUTPUT_JSON, OUTPUT_JSON_PRETTY, OUTPUT_JSON_SSE, OUTPUT_JSON_SEQ, OUTPUT_CAT))
                                 arg_quiet = true;
@@ -835,7 +835,7 @@ static int parse_argv(int argc, char *argv[]) {
                                 to = log_level_from_string(dots + 2);
 
                                 if (from < 0 || to < 0)
-                                        return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+                                        return log_error_errno(from < 0 ? from : to,
                                                                "Failed to parse log level range %s", optarg);
 
                                 arg_priorities = 0;
@@ -853,8 +853,7 @@ static int parse_argv(int argc, char *argv[]) {
 
                                 p = log_level_from_string(optarg);
                                 if (p < 0)
-                                        return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
-                                                               "Unknown log level %s", optarg);
+                                        return log_error_errno(p, "Unknown log level %s", optarg);
 
                                 arg_priorities = 0;
 
@@ -885,8 +884,7 @@ static int parse_argv(int argc, char *argv[]) {
 
                                 num = log_facility_unshifted_from_string(fac);
                                 if (num < 0)
-                                        return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
-                                                               "Bad --facility= argument \"%s\".", fac);
+                                        return log_error_errno(num, "Bad --facility= argument \"%s\".", fac);
 
                                 if (set_ensure_put(&arg_facilities, NULL, INT_TO_PTR(num)) < 0)
                                         return log_oom();
index f67013e80ce494f990127de90ca631406f43c1b0..58151aa03db97a01be0540226c1f7bde2db99699 100644 (file)
@@ -368,7 +368,7 @@ static int client_context_read_log_level_max(
 
         ll = log_level_from_string(value);
         if (ll < 0)
-                return -EINVAL;
+                return ll;
 
         c->log_level_max = ll;
         return 0;
index 47ea04921e5748a6bb126d1629438cb3e313ff50..e37575d3b936d795032ada28d0f3258ae215aae7 100644 (file)
@@ -204,7 +204,7 @@ static int device_set_action(sd_device *device, const char *action) {
 
         a = device_action_from_string(action);
         if (a < 0)
-                return -EINVAL;
+                return a;
 
         r = device_add_property_internal(device, "ACTION", action);
         if (r < 0)
index f61f9eca04e01b708d2aaf5adcbdce09a1e8c59b..918e05e1cdd98c4448bdd40ef7aa9efcc90d1c79 100644 (file)
@@ -1371,8 +1371,7 @@ static int parse_argv(int argc, char *argv[]) {
 
                         arg_output = output_mode_from_string(optarg);
                         if (arg_output < 0)
-                                return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
-                                                       "Unknown output '%s'.", optarg);
+                                return log_error_errno(arg_output, "Unknown output '%s'.", optarg);
 
                         if (OUTPUT_MODE_IS_JSON(arg_output))
                                 arg_legend = false;
@@ -1403,8 +1402,7 @@ static int parse_argv(int argc, char *argv[]) {
 
                         arg_signal = signal_from_string(optarg);
                         if (arg_signal < 0)
-                                return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
-                                                       "Failed to parse signal string %s.", optarg);
+                                return log_error_errno(arg_signal, "Failed to parse signal string %s.", optarg);
                         break;
 
                 case 'H':
index 940a718d20741c02b7652e58e56962946a233d0e..492bb68e320bbab91a3553da4f23ff10ba629d80 100644 (file)
@@ -313,7 +313,7 @@ static int network_set_dhcp_type(Context *context, const char *ifname, const cha
 
         t = dracut_dhcp_type_from_string(dhcp_type);
         if (t < 0)
-                return -EINVAL;
+                return t;
 
         network = network_get(context, ifname);
         if (!network) {
index c1883208720b45c4a8e3de1dc07c39c8b283da11..b52a5f2e26f5e136c6204bb36bce90d93cd2006f 100644 (file)
@@ -1754,7 +1754,6 @@ int config_parse_duplicate_address_detection(
 
         Network *network = userdata;
         _cleanup_(address_free_or_set_invalidp) Address *n = NULL;
-        AddressFamily a;
         int r;
 
         assert(filename);
@@ -1783,14 +1782,14 @@ int config_parse_duplicate_address_detection(
                 return 0;
         }
 
-        a = duplicate_address_detection_address_family_from_string(rvalue);
+        AddressFamily a = duplicate_address_detection_address_family_from_string(rvalue);
         if (a < 0) {
-                log_syntax(unit, LOG_WARNING, filename, line, SYNTHETIC_ERRNO(EINVAL),
+                log_syntax(unit, LOG_WARNING, filename, line, a,
                            "Failed to parse %s=, ignoring: %s", lvalue, rvalue);
                 return 0;
         }
-
         n->duplicate_address_detection = a;
+
         TAKE_PTR(n);
         return 0;
 }
index c18e4d81d995aeead46515bcbbf58eaca664385d..4cd430e8aefd2a53f8d2207138c5cac9d45b5a7b 100644 (file)
@@ -377,7 +377,6 @@ int config_parse_fdb_ntf_flags(
 
         _cleanup_(fdb_entry_free_or_set_invalidp) FdbEntry *fdb_entry = NULL;
         Network *network = userdata;
-        NeighborCacheEntryFlags f;
         int r;
 
         assert(filename);
@@ -390,9 +389,9 @@ int config_parse_fdb_ntf_flags(
         if (r < 0)
                 return log_oom();
 
-        f = fdb_ntf_flags_from_string(rvalue);
+        NeighborCacheEntryFlags f = fdb_ntf_flags_from_string(rvalue);
         if (f < 0) {
-                log_syntax(unit, LOG_WARNING, filename, line, SYNTHETIC_ERRNO(EINVAL),
+                log_syntax(unit, LOG_WARNING, filename, line, f,
                            "FDB failed to parse AssociatedWith=, ignoring assignment: %s",
                            rvalue);
                 return 0;
index e820a7a20f3c4bab45492d27c0b8c330fa5a2289..f2d556f099e622a5cec1d61392846cf555d71cb1 100644 (file)
@@ -130,8 +130,7 @@ int link_update_monitor(Link *l) {
 
                 s = link_operstate_from_string(operstate);
                 if (s < 0)
-                        ret = log_link_debug_errno(l, SYNTHETIC_ERRNO(EINVAL),
-                                                   "Failed to parse operational state, ignoring: %m");
+                        ret = log_link_debug_errno(l, s, "Failed to parse operational state, ignoring: %m");
                 else
                         l->operational_state = s;
         }
index fe5768b02224ca5602a474fd8ebbb0a7f7edff19..dfa5c833c5af34094ca31096f5f552e121e21e86 100644 (file)
@@ -205,7 +205,7 @@ static int oci_rlimit_type(const char *name, JsonVariant *v, JsonDispatchFlags f
 
         t = rlimit_from_string(z);
         if (t < 0)
-                return json_log(v, flags, SYNTHETIC_ERRNO(EINVAL),
+                return json_log(v, flags, t,
                                 "rlimit name unknown: %s", json_variant_string(v));
 
         *type = t;
index a702af8e3bd95af2b08d58cec04acce997e060c4..e1c55d0542749a2f578e0fb499df10e6e5bc309e 100644 (file)
@@ -1280,8 +1280,7 @@ static int parse_argv(int argc, char *argv[]) {
 
                         arg_kill_signal = signal_from_string(optarg);
                         if (arg_kill_signal < 0)
-                                return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
-                                                       "Cannot parse signal: %s", optarg);
+                                return log_error_errno(arg_kill_signal, "Cannot parse signal: %s", optarg);
 
                         arg_settings_mask |= SETTING_KILL_SIGNAL;
                         break;
@@ -1443,8 +1442,7 @@ static int parse_argv(int argc, char *argv[]) {
 
                         rl = rlimit_from_string_harder(name);
                         if (rl < 0)
-                                return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
-                                                       "Unknown resource limit: %s", name);
+                                return log_error_errno(rl, "Unknown resource limit: %s", name);
 
                         if (!arg_rlimit[rl]) {
                                 arg_rlimit[rl] = new0(struct rlimit, 1);
@@ -1490,7 +1488,7 @@ static int parse_argv(int argc, char *argv[]) {
 
                         arg_resolv_conf = resolv_conf_mode_from_string(optarg);
                         if (arg_resolv_conf < 0)
-                                return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+                                return log_error_errno(arg_resolv_conf,
                                                        "Failed to parse /etc/resolv.conf mode: %s", optarg);
 
                         arg_settings_mask |= SETTING_RESOLV_CONF;
@@ -1504,7 +1502,7 @@ static int parse_argv(int argc, char *argv[]) {
 
                         arg_timezone = timezone_mode_from_string(optarg);
                         if (arg_timezone < 0)
-                                return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+                                return log_error_errno(arg_timezone,
                                                        "Failed to parse /etc/localtime mode: %s", optarg);
 
                         arg_settings_mask |= SETTING_TIMEZONE;
index 338935b3ec6681a43940f4742a2caa7d3f375281..52158a66e57d6f5eaa29b1b38de2617f38d0a04b 100644 (file)
@@ -33,7 +33,7 @@ static int managed_oom_mode(const char *name, JsonVariant *v, JsonDispatchFlags
 
         m = managed_oom_mode_from_string(s);
         if (m < 0)
-                return json_log(v, flags, SYNTHETIC_ERRNO(EINVAL), "%s is not a valid ManagedOOMMode", s);
+                return json_log(v, flags, m, "%s is not a valid ManagedOOMMode", s);
 
         *mode = m;
         return 0;
index 318528b419c9ef34fa750e926368f699327fd9c2..71854245025db27d97a2e69bf0d6725a42aa99b9 100644 (file)
@@ -566,8 +566,7 @@ static int resolve_rfc4501(sd_bus *bus, const char *name) {
 
                                 r = dns_class_from_string(t);
                                 if (r < 0)
-                                        return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
-                                                               "Unknown DNS class %s.", t);
+                                        return log_error_errno(r, "Unknown DNS class %s.", t);
 
                                 class = r;
 
@@ -595,8 +594,7 @@ static int resolve_rfc4501(sd_bus *bus, const char *name) {
 
                                 r = dns_type_from_string(t);
                                 if (r < 0)
-                                        return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
-                                                               "Unknown DNS type %s.", t);
+                                        return log_error_errno(r, "Unknown DNS type %s: %m", t);
 
                                 type = r;
 
@@ -2737,10 +2735,9 @@ static int compat_parse_argv(int argc, char *argv[]) {
                         }
 
                         r = dns_type_from_string(optarg);
-                        if (r < 0) {
-                                log_error("Failed to parse RR record type %s", optarg);
-                                return r;
-                        }
+                        if (r < 0)
+                                return log_error_errno(r, "Failed to parse RR record type %s: %m", optarg);
+
                         arg_type = (uint16_t) r;
                         assert((int) arg_type == r);
 
@@ -2754,10 +2751,9 @@ static int compat_parse_argv(int argc, char *argv[]) {
                         }
 
                         r = dns_class_from_string(optarg);
-                        if (r < 0) {
-                                log_error("Failed to parse RR record class %s", optarg);
-                                return r;
-                        }
+                        if (r < 0)
+                                return log_error_errno(r, "Failed to parse RR record class %s: %m", optarg);
+
                         arg_class = (uint16_t) r;
                         assert((int) arg_class == r);
 
@@ -3024,10 +3020,9 @@ static int native_parse_argv(int argc, char *argv[]) {
                         }
 
                         r = dns_type_from_string(optarg);
-                        if (r < 0) {
-                                log_error("Failed to parse RR record type %s", optarg);
-                                return r;
-                        }
+                        if (r < 0)
+                                return log_error_errno(r, "Failed to parse RR record type %s: %m", optarg);
+
                         arg_type = (uint16_t) r;
                         assert((int) arg_type == r);
 
@@ -3040,10 +3035,9 @@ static int native_parse_argv(int argc, char *argv[]) {
                         }
 
                         r = dns_class_from_string(optarg);
-                        if (r < 0) {
-                                log_error("Failed to parse RR record class %s", optarg);
-                                return r;
-                        }
+                        if (r < 0)
+                                return log_error_errno(r, "Failed to parse RR record class %s: %m", optarg);
+
                         arg_class = (uint16_t) r;
                         assert((int) arg_class == r);
 
index 6c48c56a2a733caaa8d6a4bf3c431bdf96065bf6..0b07e4427eeb4a96b806d7cff28cc90d9b991124 100644 (file)
@@ -427,11 +427,11 @@ static int json_dispatch_rlimits(const char *name, JsonVariant *variant, JsonDis
 
                 p = startswith(key, "RLIMIT_");
                 if (!p)
-                        l = -1;
+                        l = -SYNTHETIC_ERRNO(EINVAL);
                 else
                         l = rlimit_from_string(p);
                 if (l < 0)
-                        return json_log(variant, flags, SYNTHETIC_ERRNO(EINVAL), "Resource limit '%s' not known.", key);
+                        return json_log(variant, flags, l, "Resource limit '%s' not known.", key);
 
                 if (!json_variant_is_object(value))
                         return json_log(value, flags, SYNTHETIC_ERRNO(EINVAL), "Resource limit '%s' has invalid value.", key);
@@ -661,7 +661,7 @@ int json_dispatch_user_disposition(const char *name, JsonVariant *variant, JsonD
 
         k = user_disposition_from_string(json_variant_string(variant));
         if (k < 0)
-                return json_log(variant, flags, SYNTHETIC_ERRNO(EINVAL), "Disposition type '%s' not known.", json_variant_string(variant));
+                return json_log(variant, flags, k, "Disposition type '%s' not known.", json_variant_string(variant));
 
         *disposition = k;
         return 0;
@@ -680,7 +680,7 @@ static int json_dispatch_storage(const char *name, JsonVariant *variant, JsonDis
 
         k = user_storage_from_string(json_variant_string(variant));
         if (k < 0)
-                return json_log(variant, flags, SYNTHETIC_ERRNO(EINVAL), "Storage type '%s' not known.", json_variant_string(variant));
+                return json_log(variant, flags, k, "Storage type '%s' not known.", json_variant_string(variant));
 
         *storage = k;
         return 0;
index 3323897a4ca2db58e2e689e5e1c5d41d30667584..5138edbd1015130ae9949627f8a330922407238d 100644 (file)
@@ -27,7 +27,7 @@ int query_volatile_mode(VolatileMode *ret) {
 
                 m = volatile_mode_from_string(mode);
                 if (m < 0)
-                        return -EINVAL;
+                        return m;
 
                 *ret = m;
         } else
index 64984e4a81cbfbe31d77ccc887a4783019d80057..9a95c7dab460b07a3077b59706bc16eda80f07d3 100644 (file)
@@ -30,9 +30,9 @@ static int log_setting_internal(sd_bus *bus, const BusLocator* bloc, const char
 
         if (value) {
                 if (level) {
-                        if (log_level_from_string(value) < 0)
-                                return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
-                                                       "\"%s\" is not a valid log level.", value);
+                        r = log_level_from_string(value);
+                        if (r < 0)
+                                return log_error_errno(r, "\"%s\" is not a valid log level.", value);
                 }
 
                 r = bus_set_property(bus, bloc,
index 3dde305e13555ee32408d5c4b23051e37f015026..9b04b698be1160de91eb1d7fefbc5361bbbb5d0d 100644 (file)
@@ -2040,8 +2040,7 @@ int show(int argc, char *argv[], void *userdata) {
 
         show_mode = systemctl_show_mode_from_string(argv[0]);
         if (show_mode < 0)
-                return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
-                                       "Invalid argument.");
+                return log_error_errno(show_mode, "Invalid argument.");
 
         if (show_mode == SYSTEMCTL_SHOW_HELP && argc <= 1)
                 return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
index a854107cc8c6d97c074683526d91fcb9fe254a11..89c342a0b10c0349a447b79f0bafaf3ad1a5cdd2 100644 (file)
@@ -143,7 +143,7 @@ int get_state_one_unit(sd_bus *bus, const char *unit, UnitActiveState *ret_activ
 
         state = unit_active_state_from_string(buf);
         if (state < 0)
-                return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Invalid unit state '%s' for: %s", buf, unit);
+                return log_error_errno(state, "Invalid unit state '%s' for: %s", buf, unit);
 
         *ret_active_state = state;
         return 0;
index 242ef81ecf765b657198858a353c3021ea0796c2..1a6593f9c468cad5527fb03b93d496077b5f7b6b 100644 (file)
@@ -132,7 +132,7 @@ static int run(int argc, char *argv[]) {
                 /* The kernel command line always wins. However if nothing was set there, the argument passed here wins instead. */
                 m = volatile_mode_from_string(argv[1]);
                 if (m < 0)
-                        return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Couldn't parse volatile mode: %s", argv[1]);
+                        return log_error_errno(m, "Couldn't parse volatile mode: %s", argv[1]);
         }
 
         if (argc < 3)