blob: e3ce60ac2fcd7bf2948be4ac8e200510ed5b895a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#define _GNU_SOURCE
#include <filehandler.h>
#include <lexer.h>
#include <stdio.h>
#include <stdlib.h>
#include <template.h>
#include "../config.h"
template_t *
template_create(void)
{
template_t *template = malloc(sizeof(template_t));
FILE *base = fopen(DIRECTORY "/" BASE_TEMPLATE, "r");
unsigned int size = fsize(base);
char *contents = fcontent(base, size);
fclose(base);
key_match_t *match = find_next_key(contents);
asprintf(&template->pre, "%.*s", match->offset, contents);
asprintf(&template->post,
"%.*s",
size - match->offset - match->length,
contents + match->offset + match->length);
free(contents);
free(match);
return template;
}
|