fixed the usage of getopt_* ()

pull/1328/head
philsmd 7 years ago
parent 175931575c
commit 42ee091772
No known key found for this signature in database
GPG Key ID: 4F25D016D9D6A8AF

@ -23,6 +23,7 @@
- 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 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

@ -248,7 +248,7 @@ int user_options_getopt (hashcat_ctx_t *hashcat_ctx, int argc, char **argv)
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)
{
@ -291,14 +291,18 @@ int user_options_getopt (hashcat_ctx_t *hashcat_ctx, int argc, char **argv)
return -1;
}
}
}
if (optopt != 0)
{
event_log_error (hashcat_ctx, "Invalid argument specified.");
break;
return -1;
case '?':
{
event_log_error (hashcat_ctx, "Invalid argument specified.");
return -1;
}
break;
}
}
optind = 1;
@ -306,7 +310,7 @@ int user_options_getopt (hashcat_ctx_t *hashcat_ctx, int argc, char **argv)
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)
{
@ -416,23 +420,9 @@ 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_3: user_options->custom_charset_3 = 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_argc = argc - optind;

Loading…
Cancel
Save