summaryrefslogtreecommitdiff
path: root/src/usr.bin/openssl/apps.c
diff options
context:
space:
mode:
authorjsing <>2014-08-30 15:14:03 +0000
committerjsing <>2014-08-30 15:14:03 +0000
commit3016f0d916cff2fa5c93e769e25ded6c34e7fb73 (patch)
tree8ed740b7b669337787dbbd76c503eee8d41199e2 /src/usr.bin/openssl/apps.c
parent8e6e28726f906fbe995c6de7cd80d82e57955744 (diff)
downloadopenbsd-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.c9
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;