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[]) {
if (argc < 3) {
if (argc < 2) {
print_help(argv[0]);
return 1;
}
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_export = 0;
@ -3051,8 +3064,9 @@ int main(int argc, char* argv[]) {
allocate_initial_memory();
if (argc >= 3){
for (int i=2; i<argc; i++) {
if (argc >= 2){
// hier wird das offset angewendet
for (int i=arg_offset; i<argc; i++) {
if (strcmp(argv[i], "-i")==0){
flag_interactive = 1;
} 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]);
return 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) {
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){
load_log_file(argv[1]);
load_log_file(input_path);
if (flag_has_filename == 1) {
export_filtered_entries(export_filename);
} else {