diff options
author | jsing <> | 2014-08-30 15:14:03 +0000 |
---|---|---|
committer | jsing <> | 2014-08-30 15:14:03 +0000 |
commit | 3016f0d916cff2fa5c93e769e25ded6c34e7fb73 (patch) | |
tree | 8ed740b7b669337787dbbd76c503eee8d41199e2 /src/usr.bin/openssl/apps.c | |
parent | 8e6e28726f906fbe995c6de7cd80d82e57955744 (diff) | |
download | openbsd-3016f0d916cff2fa5c93e769e25ded6c34e7fb73.tar.gz openbsd-3016f0d916cff2fa5c93e769e25ded6c34e7fb73.tar.bz2 openbsd-3016f0d916cff2fa5c93e769e25ded6c34e7fb73.zip |
Move the callback function pointer outside the opt union so that the option
values are useable by the function. Also provide an option type that calls
a function without consuming/passing an argument.
Diffstat (limited to 'src/usr.bin/openssl/apps.c')
-rw-r--r-- | src/usr.bin/openssl/apps.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/usr.bin/openssl/apps.c b/src/usr.bin/openssl/apps.c index 7a5def5007..4aac0ff6d2 100644 --- a/src/usr.bin/openssl/apps.c +++ b/src/usr.bin/openssl/apps.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: apps.c,v 1.8 2014/08/28 14:15:28 jsing Exp $ */ | 1 | /* $OpenBSD: apps.c,v 1.9 2014/08/30 15:14:03 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> |
4 | * | 4 | * |
@@ -2307,7 +2307,7 @@ options_parse(int argc, char **argv, struct option *opts, char **unnamed) | |||
2307 | break; | 2307 | break; |
2308 | 2308 | ||
2309 | case OPTION_ARG_FUNC: | 2309 | case OPTION_ARG_FUNC: |
2310 | if (opt->opt.func(opt, argv[i]) != 0) | 2310 | if (opt->func(opt, argv[i]) != 0) |
2311 | return (1); | 2311 | return (1); |
2312 | break; | 2312 | break; |
2313 | 2313 | ||
@@ -2322,6 +2322,11 @@ options_parse(int argc, char **argv, struct option *opts, char **unnamed) | |||
2322 | *opt->opt.value = (int)val; | 2322 | *opt->opt.value = (int)val; |
2323 | break; | 2323 | break; |
2324 | 2324 | ||
2325 | case OPTION_FUNC: | ||
2326 | if (opt->func(opt, NULL) != 0) | ||
2327 | return (1); | ||
2328 | break; | ||
2329 | |||
2325 | case OPTION_FLAG: | 2330 | case OPTION_FLAG: |
2326 | *opt->opt.flag = 1; | 2331 | *opt->opt.flag = 1; |
2327 | break; | 2332 | break; |