summaryrefslogtreecommitdiff
path: root/src/treebuilder/element-type.c
diff options
context:
space:
mode:
authorMichael Drake <michael.drake@codethink.co.uk>2021-05-27 21:05:48 +0100
committerMichael Drake <michael.drake@codethink.co.uk>2021-05-27 21:21:22 +0100
commit15781e565dd7f436c7056939d6d33831b63b78fb (patch)
treeed1bb2634660a66303179a2566ae645c08165cdc /src/treebuilder/element-type.c
parent0f2caec353bc7302168cdc2c0575441e43b44c3e (diff)
downloadlibhubbub-15781e565dd7f436c7056939d6d33831b63b78fb.tar.gz
libhubbub-15781e565dd7f436c7056939d6d33831b63b78fb.tar.bz2
treebuilder: Return to running gperf at build time.
Now we include the generated C file directly, in a new C file.
Diffstat (limited to 'src/treebuilder/element-type.c')
-rw-r--r--src/treebuilder/element-type.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/treebuilder/element-type.c b/src/treebuilder/element-type.c
new file mode 100644
index 0000000..f6d3247
--- /dev/null
+++ b/src/treebuilder/element-type.c
@@ -0,0 +1,30 @@
+/*
+ * This file is part of Hubbub.
+ * Licensed under the MIT License,
+ * http://www.opensource.org/licenses/mit-license.php
+ * Copyright 2021 Michael Drake <tlsa@netsurf-browser.org>
+ */
+
+#include "treebuilder/element-type.h"
+
+/* Auto-generated by `gperf`. */
+#include "treebuilder/autogenerated-element-type.c"
+
+/* Exported function, documented in element-type.h */
+element_type element_type_from_name(
+ hubbub_treebuilder *treebuilder,
+ const hubbub_string *tag_name)
+{
+ const struct element_type_map *value;
+
+ UNUSED(treebuilder);
+
+ value = hubbub_element_type_generated_lookup(
+ (const char *)tag_name->ptr,
+ tag_name->len);
+ if (value == NULL) {
+ return UNKNOWN;
+ }
+
+ return value->type;
+}