1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-11-23 00:28:11 +00:00

Merge pull request #1328 from philsmd/master

fixed the usage of getopt_* ()
This commit is contained in:
Jens Steube 2017-08-16 11:54:41 +02:00 committed by GitHub
commit 79a0345430
2 changed files with 14 additions and 23 deletions

View File

@ -23,6 +23,7 @@
- Fixed a problem with changed current working directory, for instance by using --restore together with --remove - Fixed a problem with changed current working directory, for instance by using --restore together with --remove
- Fixed a memory problem that occured when the OpenCL folder was not found and e.g. the shared and session folder were the same - Fixed a memory problem that occured when the OpenCL folder was not found and e.g. the shared and session folder were the same
- Fixed the version number used in the restore file header - Fixed the version number used in the restore file header
- Fixed the parsing of command line options. It doesn't show two times the same error about an invalid option anymore.
## ##
## Improvements ## Improvements

View File

@ -248,7 +248,7 @@ int user_options_getopt (hashcat_ctx_t *hashcat_ctx, int argc, char **argv)
option_index = 0; option_index = 0;
while (((c = getopt_long (argc, argv, short_options, long_options, &option_index)) != -1) && optopt == 0) while ((c = getopt_long (argc, argv, short_options, long_options, &option_index)) != -1)
{ {
switch (c) switch (c)
{ {
@ -291,22 +291,26 @@ int user_options_getopt (hashcat_ctx_t *hashcat_ctx, int argc, char **argv)
return -1; return -1;
} }
}
}
if (optopt != 0) break;
case '?':
{ {
event_log_error (hashcat_ctx, "Invalid argument specified."); event_log_error (hashcat_ctx, "Invalid argument specified.");
return -1; return -1;
} }
break;
}
}
optind = 1; optind = 1;
optopt = 0; optopt = 0;
option_index = 0; option_index = 0;
while (((c = getopt_long (argc, argv, short_options, long_options, &option_index)) != -1) && optopt == 0) while ((c = getopt_long (argc, argv, short_options, long_options, &option_index)) != -1)
{ {
switch (c) switch (c)
{ {
@ -416,22 +420,8 @@ int user_options_getopt (hashcat_ctx_t *hashcat_ctx, int argc, char **argv)
case IDX_CUSTOM_CHARSET_2: user_options->custom_charset_2 = optarg; break; case IDX_CUSTOM_CHARSET_2: user_options->custom_charset_2 = optarg; break;
case IDX_CUSTOM_CHARSET_3: user_options->custom_charset_3 = optarg; break; case IDX_CUSTOM_CHARSET_3: user_options->custom_charset_3 = optarg; break;
case IDX_CUSTOM_CHARSET_4: user_options->custom_charset_4 = optarg; break; case IDX_CUSTOM_CHARSET_4: user_options->custom_charset_4 = optarg; break;
default:
{
event_log_error (hashcat_ctx, "Invalid argument specified.");
return -1;
} }
} }
}
if (optopt != 0)
{
event_log_error (hashcat_ctx, "Invalid argument specified.");
return -1;
}
user_options->hc_bin = argv[0]; user_options->hc_bin = argv[0];