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
+1 -1
View File
@@ -1 +1 @@
main ./main
BIN
View File
Binary file not shown.
+23 -4
View File
@@ -279,12 +279,10 @@ int argparse(int argc, char *argv[]) {
/* /*
look for invalid arguments look for invalid arguments
*/ */
for (int j = 1; j < argc; j++) { 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) {
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[i]);
fprintf(stderr, "Invalid argument %s\n", argv[j]);
flag_error = 1; flag_error = 1;
} }
}
/* /*
print the help & usage print the help & usage
@@ -294,6 +292,11 @@ int argparse(int argc, char *argv[]) {
print_help_and_usage(); print_help_and_usage();
return 2; return 2;
} }
// --------------------------------------------------------------
if (strcmp(argv[i], "-h") == 0) {
print_help_and_usage();
return 2;
}
/* /*
getting the debug flag for debug printing 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) { if (strcmp(argv[i], "--verbose") == 0 && flag_verbose == 0) {
flag_verbose = 1; flag_verbose = 1;
} }
// --------------------------------------------------------------
if (strcmp(argv[i], "-v") == 0 && flag_verbose == 0) {
flag_verbose = 1;
}
/* /*
getting the path to the wordlist 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) { } else if (strcmp(argv[i], "--wordlist") != 0 && flag_worldlist == 0) {
strcpy(wordlist_path, "lib/wordlist"); 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) { if (file_exists(wordlist_path) == 0) {