summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@digital-scurf.org>2012-07-07 17:12:02 +0100
committerDaniel Silverstone <dsilvers@digital-scurf.org>2012-07-07 17:12:02 +0100
commit1464b39df09d285c440dcb0388ecb5dfd64590fb (patch)
tree06163b4156949ed6d0971e8341fb416748302008 /src
parentb38d185fddf093f5f56dd1c30f90385df62a2fb1 (diff)
downloadlibdom-1464b39df09d285c440dcb0388ecb5dfd64590fb.tar.gz
libdom-1464b39df09d285c440dcb0388ecb5dfd64590fb.tar.bz2
HTMLDocument: Allow memoised strings to differ from their names
Diffstat (limited to 'src')
-rw-r--r--src/html/html_document.c6
-rw-r--r--src/html/html_document_strings.h153
2 files changed, 84 insertions, 75 deletions
diff --git a/src/html/html_document.c b/src/html/html_document.c
index 288de82..69b40eb 100644
--- a/src/html/html_document.c
+++ b/src/html/html_document.c
@@ -86,9 +86,9 @@ dom_exception _dom_html_document_initialise(dom_html_document *doc,
goto out;
}
-#define HTML_DOCUMENT_STRINGS_ACTION(attr) \
- error = dom_string_create_interned((const uint8_t *) #attr, \
- SLEN(#attr), &doc->memoised[hds_##attr]); \
+#define HTML_DOCUMENT_STRINGS_ACTION(attr,str) \
+ error = dom_string_create_interned((const uint8_t *) #str, \
+ SLEN(#str), &doc->memoised[hds_##attr]); \
if (error != DOM_NO_ERR) { \
goto out; \
}
diff --git a/src/html/html_document_strings.h b/src/html/html_document_strings.h
index 6be5846..c179e0b 100644
--- a/src/html/html_document_strings.h
+++ b/src/html/html_document_strings.h
@@ -16,93 +16,102 @@
#define HTML_DOCUMENT_STRINGS_SUFFIX \
hds_COUNT \
} html_document_memo_string_e;
-#define HTML_DOCUMENT_STRINGS_ACTION(tag) \
+#define HTML_DOCUMENT_STRINGS_ACTION(tag,str) \
hds_##tag,
#endif
+#define HTML_DOCUMENT_STRINGS_ACTION1(x) HTML_DOCUMENT_STRINGS_ACTION(x,x)
+
#ifdef HTML_DOCUMENT_STRINGS_PREFIX
HTML_DOCUMENT_STRINGS_PREFIX
#endif
/* Useful attributes for HTMLElement */
-HTML_DOCUMENT_STRINGS_ACTION(id)
-HTML_DOCUMENT_STRINGS_ACTION(title)
-HTML_DOCUMENT_STRINGS_ACTION(lang)
-HTML_DOCUMENT_STRINGS_ACTION(dir)
-HTML_DOCUMENT_STRINGS_ACTION(class)
+HTML_DOCUMENT_STRINGS_ACTION1(id)
+HTML_DOCUMENT_STRINGS_ACTION1(title)
+HTML_DOCUMENT_STRINGS_ACTION1(lang)
+HTML_DOCUMENT_STRINGS_ACTION1(dir)
+HTML_DOCUMENT_STRINGS_ACTION1(class)
/* Useful attributes used by HTMLHtmlElement */
-HTML_DOCUMENT_STRINGS_ACTION(version)
+HTML_DOCUMENT_STRINGS_ACTION1(version)
/* Useful attributes used by HTMLHeadElement */
-HTML_DOCUMENT_STRINGS_ACTION(profile)
+HTML_DOCUMENT_STRINGS_ACTION1(profile)
+/* Useful attributes used by HTMLFormElement */
+HTML_DOCUMENT_STRINGS_ACTION(accept_charset,accept-charset)
+HTML_DOCUMENT_STRINGS_ACTION1(action)
+HTML_DOCUMENT_STRINGS_ACTION1(enctype)
+HTML_DOCUMENT_STRINGS_ACTION1(method)
+HTML_DOCUMENT_STRINGS_ACTION1(target)
/* Names for elements which get specialised. */
-HTML_DOCUMENT_STRINGS_ACTION(HTML)
-HTML_DOCUMENT_STRINGS_ACTION(HEAD)
-HTML_DOCUMENT_STRINGS_ACTION(LINK)
-HTML_DOCUMENT_STRINGS_ACTION(TITLE)
-HTML_DOCUMENT_STRINGS_ACTION(META)
-HTML_DOCUMENT_STRINGS_ACTION(BASE)
-HTML_DOCUMENT_STRINGS_ACTION(ISINDEX)
-HTML_DOCUMENT_STRINGS_ACTION(STYLE)
-HTML_DOCUMENT_STRINGS_ACTION(BODY)
-HTML_DOCUMENT_STRINGS_ACTION(FORM)
-HTML_DOCUMENT_STRINGS_ACTION(SELECT)
-HTML_DOCUMENT_STRINGS_ACTION(OPTGROUP)
-HTML_DOCUMENT_STRINGS_ACTION(OPTION)
-HTML_DOCUMENT_STRINGS_ACTION(INPUT)
-HTML_DOCUMENT_STRINGS_ACTION(TEXTAREA)
-HTML_DOCUMENT_STRINGS_ACTION(BUTTON)
-HTML_DOCUMENT_STRINGS_ACTION(LABEL)
-HTML_DOCUMENT_STRINGS_ACTION(FIELDSET)
-HTML_DOCUMENT_STRINGS_ACTION(LEGEND)
-HTML_DOCUMENT_STRINGS_ACTION(UL)
-HTML_DOCUMENT_STRINGS_ACTION(OL)
-HTML_DOCUMENT_STRINGS_ACTION(DL)
-HTML_DOCUMENT_STRINGS_ACTION(DIR)
-HTML_DOCUMENT_STRINGS_ACTION(MENU)
-HTML_DOCUMENT_STRINGS_ACTION(LI)
-HTML_DOCUMENT_STRINGS_ACTION(BLOCKQUOTE)
-HTML_DOCUMENT_STRINGS_ACTION(DIV)
-HTML_DOCUMENT_STRINGS_ACTION(P)
-HTML_DOCUMENT_STRINGS_ACTION(H1)
-HTML_DOCUMENT_STRINGS_ACTION(H2)
-HTML_DOCUMENT_STRINGS_ACTION(H3)
-HTML_DOCUMENT_STRINGS_ACTION(H4)
-HTML_DOCUMENT_STRINGS_ACTION(H5)
-HTML_DOCUMENT_STRINGS_ACTION(H6)
-HTML_DOCUMENT_STRINGS_ACTION(Q)
-HTML_DOCUMENT_STRINGS_ACTION(PRE)
-HTML_DOCUMENT_STRINGS_ACTION(BR)
-HTML_DOCUMENT_STRINGS_ACTION(BASEFONT)
-HTML_DOCUMENT_STRINGS_ACTION(FONT)
-HTML_DOCUMENT_STRINGS_ACTION(HR)
-HTML_DOCUMENT_STRINGS_ACTION(INS)
-HTML_DOCUMENT_STRINGS_ACTION(DEL)
-HTML_DOCUMENT_STRINGS_ACTION(A)
-HTML_DOCUMENT_STRINGS_ACTION(IMG)
-HTML_DOCUMENT_STRINGS_ACTION(OBJECT)
-HTML_DOCUMENT_STRINGS_ACTION(PARAM)
-HTML_DOCUMENT_STRINGS_ACTION(APPLET)
-HTML_DOCUMENT_STRINGS_ACTION(MAP)
-HTML_DOCUMENT_STRINGS_ACTION(AREA)
-HTML_DOCUMENT_STRINGS_ACTION(SCRIPT)
-HTML_DOCUMENT_STRINGS_ACTION(TABLE)
-HTML_DOCUMENT_STRINGS_ACTION(CAPTION)
-HTML_DOCUMENT_STRINGS_ACTION(COL)
-HTML_DOCUMENT_STRINGS_ACTION(COLGROUP)
-HTML_DOCUMENT_STRINGS_ACTION(THEAD)
-HTML_DOCUMENT_STRINGS_ACTION(TFOOT)
-HTML_DOCUMENT_STRINGS_ACTION(TBODY)
-HTML_DOCUMENT_STRINGS_ACTION(TR)
-HTML_DOCUMENT_STRINGS_ACTION(TH)
-HTML_DOCUMENT_STRINGS_ACTION(TD)
-HTML_DOCUMENT_STRINGS_ACTION(FRAMESET)
-HTML_DOCUMENT_STRINGS_ACTION(FRAME)
-HTML_DOCUMENT_STRINGS_ACTION(IFRAME)
+HTML_DOCUMENT_STRINGS_ACTION1(HTML)
+HTML_DOCUMENT_STRINGS_ACTION1(HEAD)
+HTML_DOCUMENT_STRINGS_ACTION1(LINK)
+HTML_DOCUMENT_STRINGS_ACTION1(TITLE)
+HTML_DOCUMENT_STRINGS_ACTION1(META)
+HTML_DOCUMENT_STRINGS_ACTION1(BASE)
+HTML_DOCUMENT_STRINGS_ACTION1(ISINDEX)
+HTML_DOCUMENT_STRINGS_ACTION1(STYLE)
+HTML_DOCUMENT_STRINGS_ACTION1(BODY)
+HTML_DOCUMENT_STRINGS_ACTION1(FORM)
+HTML_DOCUMENT_STRINGS_ACTION1(SELECT)
+HTML_DOCUMENT_STRINGS_ACTION1(OPTGROUP)
+HTML_DOCUMENT_STRINGS_ACTION1(OPTION)
+HTML_DOCUMENT_STRINGS_ACTION1(INPUT)
+HTML_DOCUMENT_STRINGS_ACTION1(TEXTAREA)
+HTML_DOCUMENT_STRINGS_ACTION1(BUTTON)
+HTML_DOCUMENT_STRINGS_ACTION1(LABEL)
+HTML_DOCUMENT_STRINGS_ACTION1(FIELDSET)
+HTML_DOCUMENT_STRINGS_ACTION1(LEGEND)
+HTML_DOCUMENT_STRINGS_ACTION1(UL)
+HTML_DOCUMENT_STRINGS_ACTION1(OL)
+HTML_DOCUMENT_STRINGS_ACTION1(DL)
+HTML_DOCUMENT_STRINGS_ACTION1(DIR)
+HTML_DOCUMENT_STRINGS_ACTION1(MENU)
+HTML_DOCUMENT_STRINGS_ACTION1(LI)
+HTML_DOCUMENT_STRINGS_ACTION1(BLOCKQUOTE)
+HTML_DOCUMENT_STRINGS_ACTION1(DIV)
+HTML_DOCUMENT_STRINGS_ACTION1(P)
+HTML_DOCUMENT_STRINGS_ACTION1(H1)
+HTML_DOCUMENT_STRINGS_ACTION1(H2)
+HTML_DOCUMENT_STRINGS_ACTION1(H3)
+HTML_DOCUMENT_STRINGS_ACTION1(H4)
+HTML_DOCUMENT_STRINGS_ACTION1(H5)
+HTML_DOCUMENT_STRINGS_ACTION1(H6)
+HTML_DOCUMENT_STRINGS_ACTION1(Q)
+HTML_DOCUMENT_STRINGS_ACTION1(PRE)
+HTML_DOCUMENT_STRINGS_ACTION1(BR)
+HTML_DOCUMENT_STRINGS_ACTION1(BASEFONT)
+HTML_DOCUMENT_STRINGS_ACTION1(FONT)
+HTML_DOCUMENT_STRINGS_ACTION1(HR)
+HTML_DOCUMENT_STRINGS_ACTION1(INS)
+HTML_DOCUMENT_STRINGS_ACTION1(DEL)
+HTML_DOCUMENT_STRINGS_ACTION1(A)
+HTML_DOCUMENT_STRINGS_ACTION1(IMG)
+HTML_DOCUMENT_STRINGS_ACTION1(OBJECT)
+HTML_DOCUMENT_STRINGS_ACTION1(PARAM)
+HTML_DOCUMENT_STRINGS_ACTION1(APPLET)
+HTML_DOCUMENT_STRINGS_ACTION1(MAP)
+HTML_DOCUMENT_STRINGS_ACTION1(AREA)
+HTML_DOCUMENT_STRINGS_ACTION1(SCRIPT)
+HTML_DOCUMENT_STRINGS_ACTION1(TABLE)
+HTML_DOCUMENT_STRINGS_ACTION1(CAPTION)
+HTML_DOCUMENT_STRINGS_ACTION1(COL)
+HTML_DOCUMENT_STRINGS_ACTION1(COLGROUP)
+HTML_DOCUMENT_STRINGS_ACTION1(THEAD)
+HTML_DOCUMENT_STRINGS_ACTION1(TFOOT)
+HTML_DOCUMENT_STRINGS_ACTION1(TBODY)
+HTML_DOCUMENT_STRINGS_ACTION1(TR)
+HTML_DOCUMENT_STRINGS_ACTION1(TH)
+HTML_DOCUMENT_STRINGS_ACTION1(TD)
+HTML_DOCUMENT_STRINGS_ACTION1(FRAMESET)
+HTML_DOCUMENT_STRINGS_ACTION1(FRAME)
+HTML_DOCUMENT_STRINGS_ACTION1(IFRAME)
#ifdef HTML_DOCUMENT_STRINGS_SUFFIX
HTML_DOCUMENT_STRINGS_SUFFIX
#endif
-
+
+#undef HTML_DOCUMENT_STRINGS_ACTION1
#ifdef HTML_DOCUMENT_STRINGS_INTERNAL_ACTION
#undef HTML_DOCUMENT_STRINGS_INTERNAL_ACTION