feature made short cmdline arguments work

This commit is contained in:
bePrivate
2023-10-31 13:12:25 +01:00
parent 036e192604
commit 269dcce5e7
3 changed files with 25 additions and 6 deletions
+24 -5
View File
@@ -279,11 +279,9 @@ int argparse(int argc, char *argv[]) {
/*
look for invalid arguments
*/
for (int j = 1; j < argc; j++) {
if (strcmp(argv[j], "--wordlist") != 0 && strcmp(argv[j-1], "--wordlist") != 0 && strcmp(argv[j], "--verbose") != 0 && strcmp(argv[j], "--help") != 0) {
fprintf(stderr, "Invalid argument %s\n", argv[j]);
flag_error = 1;
}
if (strcmp(argv[i], argv[0]) != 0 && strcmp(argv[i], "--wordlist") != 0 && strcmp(argv[i-1], "--wordlist") != 0 && strcmp(argv[i], "--verbose") != 0 && strcmp(argv[i], "--help") != 0 && strcmp(argv[i], "-h") != 0 && strcmp(argv[i], "-w") != 0 && strcmp(argv[i-1], "-w") != 0 && strcmp(argv[i], "-v") != 0) {
fprintf(stderr, "Invalid argument %s\n", argv[i]);
flag_error = 1;
}
/*
@@ -294,6 +292,11 @@ int argparse(int argc, char *argv[]) {
print_help_and_usage();
return 2;
}
// --------------------------------------------------------------
if (strcmp(argv[i], "-h") == 0) {
print_help_and_usage();
return 2;
}
/*
getting the debug flag for debug printing
@@ -301,6 +304,10 @@ int argparse(int argc, char *argv[]) {
if (strcmp(argv[i], "--verbose") == 0 && flag_verbose == 0) {
flag_verbose = 1;
}
// --------------------------------------------------------------
if (strcmp(argv[i], "-v") == 0 && flag_verbose == 0) {
flag_verbose = 1;
}
/*
getting the path to the wordlist
@@ -316,6 +323,18 @@ int argparse(int argc, char *argv[]) {
} else if (strcmp(argv[i], "--wordlist") != 0 && flag_worldlist == 0) {
strcpy(wordlist_path, "lib/wordlist");
}
// --------------------------------------------------------------
if (strcmp(argv[i], "--wordlist") == 0 && flag_worldlist == 0) {
flag_worldlist = 1;
if (argv[i+1] != NULL) { // if there is an argument present after that, read it as the wordlist path
strcpy(wordlist_path, argv[i+1]);
} else {
fprintf(stderr, "Missing argument after %s\nUsage: %s <path_to_wordlist_file>\n", argv[i], argv[i]);
flag_error = 1;
}
} else if (strcmp(argv[i], "--wordlist") != 0 && flag_worldlist == 0) {
strcpy(wordlist_path, "lib/wordlist");
}
}
if (file_exists(wordlist_path) == 0) {