X-Git-Url: https://git.openssl.org/?a=blobdiff_plain;f=apps%2Fprime.c;h=9aa32d02b07296ce121caa73444b379b97ac0ed6;hb=85155346b3ca2dcdecf018dc8db9df94ceebeb0d;hp=940fd4502a391d16dab828db6ce2f2095e204641;hpb=846e33c729311169d9c988ceba29484b3783f244;p=openssl.git diff --git a/apps/prime.c b/apps/prime.c index 940fd4502a..9aa32d02b0 100644 --- a/apps/prime.c +++ b/apps/prime.c @@ -17,7 +17,7 @@ typedef enum OPTION_choice { OPT_HEX, OPT_GENERATE, OPT_BITS, OPT_SAFE, OPT_CHECKS } OPTION_CHOICE; -OPTIONS prime_options[] = { +const OPTIONS prime_options[] = { {OPT_HELP_STR, 1, '-', "Usage: %s [options] [number...]\n"}, {OPT_HELP_STR, 1, '-', " number Number to check for primality\n"}, @@ -43,6 +43,7 @@ int prime_main(int argc, char **argv) switch (o) { case OPT_EOF: case OPT_ERR: +opthelp: BIO_printf(bio_err, "%s: Use -help for summary.\n", prog); goto end; case OPT_HELP: @@ -69,9 +70,14 @@ int prime_main(int argc, char **argv) argc = opt_num_rest(); argv = opt_rest(); - if (argc == 0 && !generate) { + if (generate) { + if (argc != 0) { + BIO_printf(bio_err, "Extra arguments given.\n"); + goto opthelp; + } + } else if (argc == 0) { BIO_printf(bio_err, "%s: No prime specified\n", prog); - goto end; + goto opthelp; } if (generate) { @@ -106,7 +112,7 @@ int prime_main(int argc, char **argv) else r = BN_dec2bn(&bn, argv[0]); - if(!r) { + if (!r) { BIO_printf(bio_err, "Failed to process value (%s)\n", argv[0]); goto end; } @@ -119,9 +125,8 @@ int prime_main(int argc, char **argv) } } - BN_free(bn); - ret = 0; end: + BN_free(bn); return ret; }