aboutsummaryrefslogtreecommitdiff
path: root/src/filehandler.c
diff options
context:
space:
mode:
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;
+}