Remove clear_file and update write_table to accept a file pointer

This commit is contained in:
Abdelrahman Said 2023-07-29 21:46:59 +01:00
parent 642d000ebd
commit fc80095d1f

View File

@ -7,9 +7,8 @@
#define STRING_BUF_LENGTH 100 #define STRING_BUF_LENGTH 100
INTERNAL void clear_file(void);
INTERNAL void fill_table(void); INTERNAL void fill_table(void);
INTERNAL void write_table(void); INTERNAL void write_table(FILE *fp);
INTERNAL void set_column_width(lexer_state_t state); INTERNAL void set_column_width(lexer_state_t state);
INTERNAL const char *get_input_string(lexer_input_t input); INTERNAL const char *get_input_string(lexer_input_t input);
@ -49,24 +48,20 @@ INTERNAL lexer_state_t state_table[COUNT_LEXER_STATES][COUNT_LEXER_INPUTS] = {
INTERNAL const char *filename = "./include/lexer/lexer_state_transitions.table"; INTERNAL const char *filename = "./include/lexer/lexer_state_transitions.table";
int main(void) { int main(void) {
clear_file();
fill_table();
write_table();
return EXIT_SUCCESS;
}
void clear_file(void) {
FILE *fp = fopen(filename, "w"); FILE *fp = fopen(filename, "w");
if (!fp) { if (!fp) {
printf("Failed to open file\n"); printf("Failed to open file\n");
return; return EXIT_FAILURE;
} }
fill_table();
write_table(fp);
fclose(fp); fclose(fp);
return EXIT_SUCCESS;
} }
INTERNAL void fill_table(void) { INTERNAL void fill_table(void) {
@ -84,15 +79,7 @@ INTERNAL void fill_table(void) {
} }
} }
void write_table(void) { void write_table(FILE *fp) {
FILE *fp = fopen(filename, "a");
if (!fp) {
printf("Failed to open file\n");
return;
}
const char *array_open = "{ "; const char *array_open = "{ ";
const u64 array_open_length = strlen(array_open); const u64 array_open_length = strlen(array_open);
@ -146,8 +133,6 @@ void write_table(void) {
memset(output, 0, STRING_BUF_LENGTH); memset(output, 0, STRING_BUF_LENGTH);
} }
fclose(fp);
} }
INTERNAL void set_column_width(lexer_state_t state) { INTERNAL void set_column_width(lexer_state_t state) {