aboutsummaryrefslogtreecommitdiff
path: root/lib/cmark/src/houdini.h
diff options
context:
space:
mode:
authorFelix (xq) Queißner <git@mq32.de>2020-06-09 18:27:38 +0200
committerFelix (xq) Queißner <git@mq32.de>2020-06-09 18:27:38 +0200
commitde8fd9328e9deb0d1ec596d7486686ea3cb688c2 (patch)
tree9c25d7568dee522c1d2ed7b6d238d1dad54163f6 /lib/cmark/src/houdini.h
parent661ddc244793102ee0720871c4edcd64f80bc744 (diff)
downloadkristall-de8fd9328e9deb0d1ec596d7486686ea3cb688c2.tar.gz
Includes cmark markdown parser library.
Diffstat (limited to 'lib/cmark/src/houdini.h')
-rw-r--r--lib/cmark/src/houdini.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/lib/cmark/src/houdini.h b/lib/cmark/src/houdini.h
new file mode 100644
index 0000000..f738e82
--- /dev/null
+++ b/lib/cmark/src/houdini.h
@@ -0,0 +1,51 @@
+#ifndef CMARK_HOUDINI_H
+#define CMARK_HOUDINI_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdint.h>
+#include "config.h"
+#include "buffer.h"
+
+#ifdef HAVE___BUILTIN_EXPECT
+#define likely(x) __builtin_expect((x), 1)
+#define unlikely(x) __builtin_expect((x), 0)
+#else
+#define likely(x) (x)
+#define unlikely(x) (x)
+#endif
+
+#ifdef HOUDINI_USE_LOCALE
+#define _isxdigit(c) isxdigit(c)
+#define _isdigit(c) isdigit(c)
+#else
+/*
+ * Helper _isdigit methods -- do not trust the current locale
+ * */
+#define _isxdigit(c) (strchr("0123456789ABCDEFabcdef", (c)) != NULL)
+#define _isdigit(c) ((c) >= '0' && (c) <= '9')
+#endif
+
+#define HOUDINI_ESCAPED_SIZE(x) (((x)*12) / 10)
+#define HOUDINI_UNESCAPED_SIZE(x) (x)
+
+extern bufsize_t houdini_unescape_ent(cmark_strbuf *ob, const uint8_t *src,
+ bufsize_t size);
+extern int houdini_escape_html(cmark_strbuf *ob, const uint8_t *src,
+ bufsize_t size);
+extern int houdini_escape_html0(cmark_strbuf *ob, const uint8_t *src,
+ bufsize_t size, int secure);
+extern int houdini_unescape_html(cmark_strbuf *ob, const uint8_t *src,
+ bufsize_t size);
+extern void houdini_unescape_html_f(cmark_strbuf *ob, const uint8_t *src,
+ bufsize_t size);
+extern int houdini_escape_href(cmark_strbuf *ob, const uint8_t *src,
+ bufsize_t size);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif