refactor(common): moved common declerations to seperate files to avoid circular imports

This commit is contained in:
lisk77 2025-09-19 19:23:28 +02:00
parent 4b2575ab96
commit c1f11eceb2
2 changed files with 67 additions and 0 deletions

43
src/common.c Normal file
View file

@ -0,0 +1,43 @@
#include "common.h"
char* get_file_content(char* path) {
if (!path) return NULL;
FILE* file = fopen(path, "rb");
if (!file) { perror("ERROR: could not open file in get_file_content!"); return NULL; }
if (fseek(file, 0, SEEK_END) != 0) { fclose(file); return NULL; }
long file_size = ftell(file);
if (file_size < 0) { perror("ERROR: file size is negative in get_file_content!"); fclose(file); return NULL; }
if (fseek(file, 0, SEEK_SET) != 0) { fclose(file); return NULL; }
size_t n = (size_t)file_size;
char* buf = (char*)calloc(n + 1, 1);
if (!buf) { fclose(file); return NULL; }
size_t got = fread(buf, 1, n, file);
fclose(file);
buf[got] = '\0';
return buf;
}
char* get_file_content_with_size(char* path, size_t* size) {
if (!path || !size) return NULL;
FILE* file = fopen(path, "rb");
if (!file) { perror("ERROR: could not open file in get_file_content_with_size!"); return NULL; }
if (fseek(file, 0, SEEK_END) != 0) { fclose(file); return NULL; }
long file_size = ftell(file);
if (file_size < 0) { perror("ERROR: file size is negative in get_file_content_with_size!"); fclose(file); return NULL; }
if (fseek(file, 0, SEEK_SET) != 0) { fclose(file); return NULL; }
size_t n = (size_t)file_size;
char* buf = (char*)malloc(n);
if (!buf) { fclose(file); return NULL; }
size_t got = fread(buf, 1, n, file);
fclose(file);
*size = got;
return buf;
}