diff options
-rw-r--r-- | src/shared/volatile-util.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/shared/volatile-util.c b/src/shared/volatile-util.c index 917ebfa4e4..5ca6ab3376 100644 --- a/src/shared/volatile-util.c +++ b/src/shared/volatile-util.c @@ -12,27 +12,28 @@ int query_volatile_mode(VolatileMode *ret) { _cleanup_free_ char *mode = NULL; - VolatileMode m = VOLATILE_NO; int r; r = proc_cmdline_get_key("systemd.volatile", PROC_CMDLINE_VALUE_OPTIONAL, &mode); if (r < 0) return r; - if (r == 0) - goto finish; + if (r == 0) { + *ret = VOLATILE_NO; + return 0; + } if (mode) { + VolatileMode m; + m = volatile_mode_from_string(mode); if (m < 0) return -EINVAL; - } else - m = VOLATILE_YES; - r = 1; + *ret = m; + } else + *ret = VOLATILE_YES; -finish: - *ret = m; - return r; + return 1; } static const char* const volatile_mode_table[_VOLATILE_MODE_MAX] = { |