diff options
Diffstat (limited to 'Converter/src/main.c')
-rw-r--r-- | Converter/src/main.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Converter/src/main.c b/Converter/src/main.c index e3603bb..e41304b 100644 --- a/Converter/src/main.c +++ b/Converter/src/main.c @@ -7,10 +7,25 @@ typedef char *string; string compile_line(string line, size_t size_of_line) { string compiled_line; + size_t size_of_content; + if (line[0] == '#') { // Compile a header + // Get the level of header (h1, h2, etc) + int depth; + for (depth = 1; line[depth] == '#'; ++depth); + size_of_content = size_of_line - depth; // remove hashes + + // Generate the header tags based on depth + const int tag_size = 4; + const int untag_size = 5; + string tag = malloc(sizeof(*tag) * 5); + sprintf(tag, "<h%d>", depth); + string untag = malloc(sizeof(*untag) * 6); + sprintf(untag, "</h%d>", depth); + // allocate buffer with extra 9 characters for the tags compiled_line = malloc(sizeof(*compiled_line) * (size_of_line + 9)); // write h1 to start of compiled_line |