ext/commonmarker/node.h in commonmarker-0.23.8 vs ext/commonmarker/node.h in commonmarker-0.23.9
- old
+ new
@@ -80,10 +80,18 @@
uint16_t type;
cmark_node_internal_flags flags;
cmark_syntax_extension *extension;
+ /**
+ * Used during cmark_render() to cache the most recent non-NULL
+ * extension, if you go up the parent chain like this:
+ *
+ * node->parent->...parent->extension
+ */
+ cmark_syntax_extension *ancestor_extension;
+
union {
int ref_ix;
int def_count;
} footnote;
@@ -117,11 +125,11 @@
* required to be called at program start time, which caused
* backwards-compatibility issues in applications that use cmark-gfm as a
* library. It is now a no-op.
*/
CMARK_GFM_EXPORT
-void cmark_init_standard_node_flags();
+void cmark_init_standard_node_flags(void);
static CMARK_INLINE cmark_mem *cmark_node_mem(cmark_node *node) {
return node->content.mem;
}
CMARK_GFM_EXPORT int cmark_node_check(cmark_node *node, FILE *out);
@@ -141,9 +149,16 @@
static CMARK_INLINE bool CMARK_NODE_INLINE_P(cmark_node *node) {
return node != NULL && CMARK_NODE_TYPE_INLINE_P((cmark_node_type) node->type);
}
CMARK_GFM_EXPORT bool cmark_node_can_contain_type(cmark_node *node, cmark_node_type child_type);
+
+/**
+ * Enable (or disable) extra safety checks. These extra checks cause
+ * extra performance overhead (in some cases quadratic), so they are only
+ * intended to be used during testing.
+ */
+CMARK_GFM_EXPORT void cmark_enable_safety_checks(bool enable);
#ifdef __cplusplus
}
#endif