/// Does the text have metadata?
bool mmd_engine_has_metadata(mmd_engine * e, size_t * end) {
bool result = false;
+ token * old_root;
if (!e) {
return false;
return false;
}
- // Free existing parse tree
- if (e->root) {
- token_tree_free(e->root);
- }
+ // Preserve existing parse tree (if any)
+ old_root = e->root;
// Tokenize the string (up until first empty line)
token * doc = mmd_tokenize_string(e, 0, e->dstr->currentStringLength, true);
token_tree_free(doc);
}
+ // Restore previous parse tree
+ e->root = old_root;
+
return result;
}