transclude_source(buffer, folder, format, NULL, NULL);
- //free(folder);
+ // Don't free folder -- owned by dirname
}
result = mmd_process(buffer, extensions, format, language);
transclude_source(buffer, folder, format, NULL, NULL);
- free(folder);
+ // Don't free folder -- owned by dirname
}
result = mmd_process(buffer, extensions, format, language);
if (freeDString)
d_string_free(e->dstr, true);
- if (e->extensions & EXT_CRITIC)
- token_pair_engine_free(e->pairings1);
+ token_pair_engine_free(e->pairings1);
token_pair_engine_free(e->pairings2);
token_pair_engine_free(e->pairings3);
stack_free(e->definition_stack);
stack_free(e->header_stack);
+ // Citations need to be freed
+ while (e->citation_stack->size) {
+ footnote_free(stack_pop(e->citation_stack));
+ }
+ stack_free(e->citation_stack);
+
// Links need to be freed
while (e->link_stack->size) {
link_free(stack_pop(e->link_stack));
if (strcmp(clean, m->key) == 0) {
// We have a match
+ free(clean);
return m->value;
}
}
+ free(clean);
return result;
}