From 51214cf49195b645bd58b0c41046470908de71d9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 4 Apr 2023 19:39:04 +0200 Subject: [PATCH] various: simplify calls to parse_boolean_argument() parse_boolean_argument() returns the same information via both the output argument and normal return. --- src/ask-password/ask-password.c | 14 +++++--------- src/boot/bootctl.c | 8 ++++---- src/creds/creds.c | 6 ++---- src/cryptenroll/cryptenroll.c | 27 +++++++++------------------ src/home/homectl.c | 31 ++++++++++--------------------- 5 files changed, 30 insertions(+), 56 deletions(-) diff --git a/src/ask-password/ask-password.c b/src/ask-password/ask-password.c index f161e65973..c02e3b42fe 100644 --- a/src/ask-password/ask-password.c +++ b/src/ask-password/ask-password.c @@ -138,14 +138,12 @@ static int parse_argv(int argc, char *argv[]) { /* Empty argument or explicit string "masked" for default behaviour. */ arg_flags &= ~(ASK_PASSWORD_ECHO|ASK_PASSWORD_SILENT); else { - bool b; - - r = parse_boolean_argument("--echo=", optarg, &b); + r = parse_boolean_argument("--echo=", optarg, NULL); if (r < 0) return r; - SET_FLAG(arg_flags, ASK_PASSWORD_ECHO, b); - SET_FLAG(arg_flags, ASK_PASSWORD_SILENT, !b); + SET_FLAG(arg_flags, ASK_PASSWORD_ECHO, r); + SET_FLAG(arg_flags, ASK_PASSWORD_SILENT, !r); } break; @@ -195,13 +193,11 @@ static int parse_argv(int argc, char *argv[]) { if (isempty(emoji) || streq(emoji, "auto")) SET_FLAG(arg_flags, ASK_PASSWORD_HIDE_EMOJI, FLAGS_SET(arg_flags, ASK_PASSWORD_ECHO)); else { - bool b; - - r = parse_boolean_argument("--emoji=", emoji, &b); + r = parse_boolean_argument("--emoji=", emoji, NULL); if (r < 0) return r; - SET_FLAG(arg_flags, ASK_PASSWORD_HIDE_EMOJI, !b); + SET_FLAG(arg_flags, ASK_PASSWORD_HIDE_EMOJI, !r); } if (argc > optind) { diff --git a/src/boot/bootctl.c b/src/boot/bootctl.c index 710cf8da65..82c7e498ba 100644 --- a/src/boot/bootctl.c +++ b/src/boot/bootctl.c @@ -248,7 +248,6 @@ static int parse_argv(int argc, char *argv[]) { }; int c, r; - bool b; assert(argc >= 0); assert(argv); @@ -338,11 +337,11 @@ static int parse_argv(int argc, char *argv[]) { if (streq(optarg, "auto")) /* retained for backwards compatibility */ arg_make_entry_directory = -1; /* yes if machine-id is permanent */ else { - r = parse_boolean_argument("--make-entry-directory=", optarg, &b); + r = parse_boolean_argument("--make-entry-directory=", optarg, NULL); if (r < 0) return r; - arg_make_entry_directory = b; + arg_make_entry_directory = r; } break; @@ -366,7 +365,8 @@ static int parse_argv(int argc, char *argv[]) { } if (strlen(optarg) > EFI_BOOT_OPTION_DESCRIPTION_MAX) return log_error_errno(SYNTHETIC_ERRNO(EINVAL), - "--efi-boot-option-description= too long: %zu > %zu", strlen(optarg), EFI_BOOT_OPTION_DESCRIPTION_MAX); + "--efi-boot-option-description= too long: %zu > %zu", + strlen(optarg), EFI_BOOT_OPTION_DESCRIPTION_MAX); r = free_and_strdup_warn(&arg_efi_boot_option_description, optarg); if (r < 0) return r; diff --git a/src/creds/creds.c b/src/creds/creds.c index 3eb94cd36a..ef32efe1e2 100644 --- a/src/creds/creds.c +++ b/src/creds/creds.c @@ -807,13 +807,11 @@ static int parse_argv(int argc, char *argv[]) { if (isempty(optarg) || streq(optarg, "auto")) arg_newline = -1; else { - bool b; - - r = parse_boolean_argument("--newline=", optarg, &b); + r = parse_boolean_argument("--newline=", optarg, NULL); if (r < 0) return r; - arg_newline = b; + arg_newline = r; } break; diff --git a/src/cryptenroll/cryptenroll.c b/src/cryptenroll/cryptenroll.c index 29360ef0fc..be57873ee4 100644 --- a/src/cryptenroll/cryptenroll.c +++ b/src/cryptenroll/cryptenroll.c @@ -207,38 +207,29 @@ static int parse_argv(int argc, char *argv[]) { case ARG_VERSION: return version(); - case ARG_FIDO2_WITH_PIN: { - bool lock_with_pin; - - r = parse_boolean_argument("--fido2-with-client-pin=", optarg, &lock_with_pin); + case ARG_FIDO2_WITH_PIN: + r = parse_boolean_argument("--fido2-with-client-pin=", optarg, NULL); if (r < 0) return r; - SET_FLAG(arg_fido2_lock_with, FIDO2ENROLL_PIN, lock_with_pin); + SET_FLAG(arg_fido2_lock_with, FIDO2ENROLL_PIN, r); break; - } - - case ARG_FIDO2_WITH_UP: { - bool lock_with_up; - r = parse_boolean_argument("--fido2-with-user-presence=", optarg, &lock_with_up); + case ARG_FIDO2_WITH_UP: + r = parse_boolean_argument("--fido2-with-user-presence=", optarg, NULL); if (r < 0) return r; - SET_FLAG(arg_fido2_lock_with, FIDO2ENROLL_UP, lock_with_up); + SET_FLAG(arg_fido2_lock_with, FIDO2ENROLL_UP, r); break; - } - - case ARG_FIDO2_WITH_UV: { - bool lock_with_uv; - r = parse_boolean_argument("--fido2-with-user-verification=", optarg, &lock_with_uv); + case ARG_FIDO2_WITH_UV: + r = parse_boolean_argument("--fido2-with-user-verification=", optarg, NULL); if (r < 0) return r; - SET_FLAG(arg_fido2_lock_with, FIDO2ENROLL_UV, lock_with_uv); + SET_FLAG(arg_fido2_lock_with, FIDO2ENROLL_UV, r); break; - } case ARG_PASSWORD: if (arg_enroll_type >= 0) diff --git a/src/home/homectl.c b/src/home/homectl.c index 158164ae81..b265f8741e 100644 --- a/src/home/homectl.c +++ b/src/home/homectl.c @@ -3576,38 +3576,29 @@ static int parse_argv(int argc, char *argv[]) { strv_uniq(arg_fido2_device); break; - case ARG_FIDO2_WITH_PIN: { - bool lock_with_pin; - - r = parse_boolean_argument("--fido2-with-client-pin=", optarg, &lock_with_pin); + case ARG_FIDO2_WITH_PIN: + r = parse_boolean_argument("--fido2-with-client-pin=", optarg, NULL); if (r < 0) return r; - SET_FLAG(arg_fido2_lock_with, FIDO2ENROLL_PIN, lock_with_pin); + SET_FLAG(arg_fido2_lock_with, FIDO2ENROLL_PIN, r); break; - } - case ARG_FIDO2_WITH_UP: { - bool lock_with_up; - - r = parse_boolean_argument("--fido2-with-user-presence=", optarg, &lock_with_up); + case ARG_FIDO2_WITH_UP: + r = parse_boolean_argument("--fido2-with-user-presence=", optarg, NULL); if (r < 0) return r; - SET_FLAG(arg_fido2_lock_with, FIDO2ENROLL_UP, lock_with_up); + SET_FLAG(arg_fido2_lock_with, FIDO2ENROLL_UP, r); break; - } - case ARG_FIDO2_WITH_UV: { - bool lock_with_uv; - - r = parse_boolean_argument("--fido2-with-user-verification=", optarg, &lock_with_uv); + case ARG_FIDO2_WITH_UV: + r = parse_boolean_argument("--fido2-with-user-verification=", optarg, NULL); if (r < 0) return r; - SET_FLAG(arg_fido2_lock_with, FIDO2ENROLL_UV, lock_with_uv); + SET_FLAG(arg_fido2_lock_with, FIDO2ENROLL_UV, r); break; - } case ARG_RECOVERY_KEY: r = parse_boolean(optarg); @@ -3727,8 +3718,6 @@ static int parse_argv(int argc, char *argv[]) { break; case ARG_DROP_CACHES: { - bool drop_caches; - if (isempty(optarg)) { r = drop_from_identity("dropCaches"); if (r < 0) @@ -3736,7 +3725,7 @@ static int parse_argv(int argc, char *argv[]) { break; } - r = parse_boolean_argument("--drop-caches=", optarg, &drop_caches); + r = parse_boolean_argument("--drop-caches=", optarg, NULL); if (r < 0) return r; -- 2.25.1