aboutsummaryrefslogtreecommitdiff
path: root/src/filehandler.c
diff options
context:
space:
mode:
authorRaghuram Subramani <raghus2247@gmail.com>2025-06-19 11:26:52 +0530
committerRaghuram Subramani <raghus2247@gmail.com>2025-06-19 11:26:52 +0530
commitbfdbb1e1316225f5bff0309a1b9008dcff567cf5 (patch)
tree4d20e4601435aad896311b33794c9c401decc286 /src/filehandler.c
parent36b9c2d449162e7ec40520159fe2804f7439db4d (diff)
refactor: move file functions into filehandler
Diffstat (limited to 'src/filehandler.c')
-rw-r--r--src/filehandler.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/filehandler.c b/src/filehandler.c
new file mode 100644
index 0000000..154e2f3
--- /dev/null
+++ b/src/filehandler.c
@@ -0,0 +1,28 @@
+#include <filehandler.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+char *
+fcontent(FILE *f, unsigned int size)
+{
+ char *buffer = (char *) calloc(size, sizeof(char));
+
+ fseek(f, 0, SEEK_SET);
+ int bytesread = fread(buffer, sizeof(char), size, f);
+ if (bytesread < 0)
+ return NULL;
+
+ return buffer;
+}
+
+unsigned int
+fsize(FILE *f)
+{
+ unsigned int current = ftell(f);
+
+ fseek(f, 0, SEEK_END);
+ unsigned int s = ftell(f);
+ fseek(f, current, SEEK_SET);
+
+ return s + 1;
+}