aboutsummaryrefslogtreecommitdiff
path: root/src/template.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/template.c')
-rw-r--r--src/template.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/template.c b/src/template.c
new file mode 100644
index 0000000..95a54d9
--- /dev/null
+++ b/src/template.c
@@ -0,0 +1,28 @@
+#define _GNU_SOURCE
+
+#include <filehandler.h>
+#include <lexer.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <template.h>
+
+#include "../config.h"
+
+void
+template_initialize(char **base_pre, char **base_post)
+{
+ FILE *base = fopen(DIRECTORY "/" BASE_TEMPLATE, "r");
+
+ unsigned int size = fsize(base);
+ char *contents = fcontent(base, size);
+
+ key_match_t *match = find_next_key(contents);
+ asprintf(base_pre, "%.*s", match->offset, contents);
+ asprintf(base_post,
+ "%.*s",
+ size - match->offset - match->length,
+ contents + match->offset + match->length);
+
+ free(contents);
+ fclose(base);
+}