This commit is contained in:
overcuriousity 2025-09-05 14:25:48 +02:00
parent d3b949949c
commit c5e920ef6c

View File

@ -3032,14 +3032,27 @@ void print_help(char* binary) {
} }
int main(int argc, char* argv[]) { int main(int argc, char* argv[]) {
if (argc < 3) { if (argc < 2) {
print_help(argv[0]); print_help(argv[0]);
return 1; return 1;
} }
printf("\nNGINX EXAMINATOR\n"); printf("\nNGINX EXAMINATOR\n");
char* input_path = argv[1]; // Dateipfad: wenn nicht angegeben, wird /var/log/nginx (Standardpfad) untersucht
char* input_path;
int arg_offset = 1; // Offset für die args
// Prüfen des ersten Zeichens des ersten Arguments - Pfad oder Flag?
if (argv[1][0] == '-') {
// Ist ein Flag - Standardpfad, Offset bleibt bei 1
input_path = "/var/log/nginx/";
arg_offset = 1;
} else {
input_path = argv[1];
arg_offset = 2; // Offset inkrementieren, Dateipfad schiebt die args nach hinten
}
int flag_interactive = 0; int flag_interactive = 0;
int flag_export = 0; int flag_export = 0;
@ -3051,8 +3064,9 @@ int main(int argc, char* argv[]) {
allocate_initial_memory(); allocate_initial_memory();
if (argc >= 3){ if (argc >= 2){
for (int i=2; i<argc; i++) { // hier wird das offset angewendet
for (int i=arg_offset; i<argc; i++) {
if (strcmp(argv[i], "-i")==0){ if (strcmp(argv[i], "-i")==0){
flag_interactive = 1; flag_interactive = 1;
} else if (strcmp(argv[i], "-e")==0) { } else if (strcmp(argv[i], "-e")==0) {
@ -3083,7 +3097,8 @@ int main(int argc, char* argv[]) {
printf("ERROR: Interaktiver Modus kann nicht mit Export-Modus kombiniert werden. Mit %c ausführen für Anleitung.", argv[0]); printf("ERROR: Interaktiver Modus kann nicht mit Export-Modus kombiniert werden. Mit %c ausführen für Anleitung.", argv[0]);
return 1; return 1;
}else if (flag_interactive == 1) { }else if (flag_interactive == 1) {
load_log_file(argv[1]); // entweder Standardpfad oder übergebener Pfad
load_log_file(input_path);
if (total_entries == 0) { if (total_entries == 0) {
printf("ERROR: Keine gültigen Log-Einträge gefunden. Überprüfen Sie den Pfad und die Dateiformate.\n"); printf("ERROR: Keine gültigen Log-Einträge gefunden. Überprüfen Sie den Pfad und die Dateiformate.\n");
@ -3120,7 +3135,7 @@ int main(int argc, char* argv[]) {
} }
} }
} else if (flag_export == 1){ } else if (flag_export == 1){
load_log_file(argv[1]); load_log_file(input_path);
if (flag_has_filename == 1) { if (flag_has_filename == 1) {
export_filtered_entries(export_filename); export_filtered_entries(export_filename);
} else { } else {