Skip to content

Commit 6f75d91

Browse files
save special_chars/skip_chars in parser_reset
1 parent ea07fb5 commit 6f75d91

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/blocks.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,8 @@ static void cmark_parser_reset(cmark_parser *parser) {
124124
cmark_llist *saved_inline_exts = parser->inline_syntax_extensions;
125125
int saved_options = parser->options;
126126
cmark_mem *saved_mem = parser->mem;
127+
int8_t *saved_specials = parser->special_chars;
128+
int8_t *saved_skips = parser->skip_chars;
127129

128130
cmark_parser_dispose(parser);
129131

@@ -142,15 +144,18 @@ static void cmark_parser_reset(cmark_parser *parser) {
142144
parser->syntax_extensions = saved_exts;
143145
parser->inline_syntax_extensions = saved_inline_exts;
144146
parser->options = saved_options;
147+
148+
parser->special_chars = saved_specials;
149+
parser->skip_chars = saved_skips;
145150
}
146151

147152
cmark_parser *cmark_parser_new_with_mem(int options, cmark_mem *mem) {
148153
cmark_parser *parser = (cmark_parser *)mem->calloc(1, sizeof(cmark_parser));
149154
parser->mem = mem;
150155
parser->options = options;
151-
cmark_parser_reset(parser);
152156
cmark_set_default_skip_chars(&parser->skip_chars, false);
153157
cmark_set_default_special_chars(&parser->special_chars, false);
158+
cmark_parser_reset(parser);
154159
return parser;
155160
}
156161

0 commit comments

Comments
 (0)