diff --git a/main.c b/main.c index ae8c7bf..10f7334 100644 --- a/main.c +++ b/main.c @@ -64,7 +64,7 @@ void add_css(void) { } } -char * doheader() { +char *doheader() { FILE *fheader = fopen("./media/header", "r"); if (fheader == NULL) { fheader = fopen("./media/header", "w"); @@ -72,21 +72,22 @@ char * doheader() { perror("galat buat header"); return NULL; } - } - - char *buffer = malloc(1000 * sizeof(char)); - if(buffer == NULL) { - perror("galat alokasi memori buffer"); fclose(fheader); return NULL; } + static char buffer[MAX_LENGTH] = {0}; + size_t bytes_read; + + bytes_read = fread(buffer, 1, sizeof(buffer) - 1, fheader); + buffer[bytes_read] = '\0'; - while(fgets(buffer, 1000, fheader) != NULL) { - printf("%s\n", buffer); - } fclose(fheader); - return buffer; + if (bytes_read > 0) { + return buffer; + } else { + return NULL; + } } void copy_css(void) { @@ -303,7 +304,8 @@ void generate(void) { header = doheader(); fprintf(fpto, "\n
\n\n