From 48dcb7155e8dea72ce6ab8a2c7cbd2342c39e11a Mon Sep 17 00:00:00 2001 From: overcuriousity Date: Sun, 22 Jun 2025 17:09:53 +0200 Subject: [PATCH] progress --- bin/main | Bin 16128 -> 13320 bytes src/main.c | 57 ++++++++++++++++++++++++++++++++++------------------- 2 files changed, 37 insertions(+), 20 deletions(-) diff --git a/bin/main b/bin/main index 7b1c0e320e513d8d8c6b35efc3df60f82cba31d0..1aba0a019eb6643df1970df2c1f0b4852778f084 100755 GIT binary patch literal 13320 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 literal 16128 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 L8lUwTcv$f-4iIfP diff --git a/src/main.c b/src/main.c index 8072cde..f0a0c5a 100644 --- a/src/main.c +++ b/src/main.c @@ -17,6 +17,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND #include #include #include +#include #define BUF 1024 #define DEBUG true @@ -42,14 +43,14 @@ struct errorLogEntry_t { // https://nginx.org/en/docs/http/ngx_http_log_module.html struct access_log_entry_t { - char remote_addr; - char remote_user; + char *remote_addr; + char *remote_user; struct datetime_t time_local; - char request; + char *request; unsigned int status; unsigned int body_bytes_sent; - char http_referer; - char http_user_agent; + char *http_referer; + char *http_user_agent; }; void debugmsg(char *msg) { @@ -65,11 +66,17 @@ int checkparams(int *argc, char *argv[]) { }; }; -struct errorLogEntry_t parseLogline(char *logLine) { - struct errorLogEntry_t logEntry; +struct access_log_entry_t parseLogline(char *accessLogLine) { + struct access_log_entry_t logEntry; + logEntry.remote_addr = parse_remote_address(accessLogLine); return logEntry; }; +char parse_remote_address(char *accessLogLine) { + char *remote_adress[18]; + regcomp +} + uint32_t my_strlen(char *s) { uint32_t counter = 0; while (s[counter] != '\0') { @@ -88,7 +95,7 @@ int main(int argc, char *argv[]) { i++; } checkparams(&argc, argv); - char *filepath = argv[1]; + const char *filepath = argv[1]; FILE *fp = fopen(filepath, "r"); if(fp == NULL) { perror("fopen"); @@ -97,23 +104,33 @@ int main(int argc, char *argv[]) { }else{ char msg[BUF]; fseek(fp, 0L, SEEK_END); - long filesize = ftell(fp); - sprintf(msg, "Datei %s geöffnet. Speicheradresse %p, Speichergröße %ld\n", filepath, &fp, filesize); + int filesize = ftell(fp); + sprintf(msg, "Datei %s geöffnet. Speicheradresse %p, Speichergröße %d Byte\n", filepath, &fp, filesize); debugmsg(msg); - //char filebuffer[BUF]; - struct access_log_entry_t *access_log_storage = malloc(sizeof(struct access_log_entry_t)*BUF) - if(access_log_storage==NULL){ - perror("Fuck\n") + char *access_log_buffer = malloc(BUF); + struct access_log_entry_t *access_log_table = malloc(sizeof(struct access_log_entry_t)*BUF); + if(access_log_buffer==NULL){ + perror("Fuck\n"); return -1; }; rewind(fp); - while (fgets(filebuffer, BUF, fp)){ - debugmsg("entered loop\n"); - fputs(filebuffer, stdout); - debugmsg("endloop"); + //while (fgets(access_log_buffer, filesize, fp)){ + // debugmsg("entered loop\n"); + // sprintf(outputline, "LINE %d: %s", counter+1, access_log_buffer); + // fputs(outputline, stdout); + // debugmsg("endloop"); + //} + for (int counter = 0; counter < 10 && fgets(access_log_buffer, filesize, fp); counter++) { + //debugmsg("entered loop"); + char outputline[BUF]; + sprintf(outputline, "LINE %d: %s", counter+1, access_log_buffer); + fputs(outputline, stdout); + //debugmsg("endloop"); } - free(access_log_storage); - access_log_storage = NULL; + free(access_log_buffer); + free(access_log_table); + //access_log_buffer = NULL; + access_log_table = NULL; } debugmsg("END OF PROGRAM"); return 0;