diff options
Diffstat (limited to 'src/template.c')
-rw-r--r-- | src/template.c | 28 |
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); +} |