1
0
mirror of https://github.com/systemd/systemd synced 2024-07-09 04:26:06 +00:00

various: simplify calls to parse_boolean_argument()

parse_boolean_argument() returns the same information via both the output
argument and normal return.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2023-04-04 19:39:04 +02:00 committed by Mike Yuan
parent 96181b7a89
commit 51214cf491
5 changed files with 30 additions and 56 deletions

View File

@ -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) {

View File

@ -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;

View File

@ -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;

View File

@ -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)

View File

@ -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;