diff --git a/src/document/html/internal.h b/src/document/html/internal.h
index 3fad8916..676454bc 100644
--- a/src/document/html/internal.h
+++ b/src/document/html/internal.h
@@ -134,7 +134,7 @@ struct html_context {
* html/parser/forms.c
* html/parser/parse.c
* html/parser.c */
- void *(*special_f)(struct html_context *, enum html_special_type, ...);
+ void *(*special_f)(struct html_context *, html_special_type_T, ...);
};
#define html_top ((struct html_element *) html_context->stack.next)
diff --git a/src/document/html/parser.c b/src/document/html/parser.c
index 79db9c4b..c581f733 100644
--- a/src/document/html/parser.c
+++ b/src/document/html/parser.c
@@ -761,7 +761,7 @@ init_html_parser(struct uri *uri, struct document_options *options,
struct string *head, struct string *title,
void (*put_chars)(struct html_context *, const char *, int),
void (*line_break)(struct html_context *),
- void *(*special)(struct html_context *, enum html_special_type, ...))
+ void *(*special)(struct html_context *, html_special_type_T, ...))
{
struct html_context *html_context;
struct html_element *e;
diff --git a/src/document/html/parser.h b/src/document/html/parser.h
index e7f690ea..9b91dfab 100644
--- a/src/document/html/parser.h
+++ b/src/document/html/parser.h
@@ -179,7 +179,7 @@ init_html_parser(struct uri *uri, struct document_options *options,
struct string *head, struct string *title,
void (*put_chars)(struct html_context *, const char *, int),
void (*line_break)(struct html_context *),
- void *(*special)(struct html_context *, enum html_special_type,
+ void *(*special)(struct html_context *, html_special_type_T,
...));
void done_html_parser(struct html_context *html_context);
diff --git a/src/document/html/renderer.c b/src/document/html/renderer.c
index b72d3dbd..7d8c6559 100644
--- a/src/document/html/renderer.c
+++ b/src/document/html/renderer.c
@@ -2238,7 +2238,7 @@ color_link_lines(struct html_context *html_context)
}
void *
-html_special(struct html_context *html_context, enum html_special_type c, ...)
+html_special(struct html_context *html_context, html_special_type_T c, ...)
{
va_list l;
struct part *part;
@@ -2379,6 +2379,8 @@ html_special(struct html_context *html_context, enum html_special_type c, ...)
}
break;
}
+ default:
+ break;
}
diff --git a/src/document/html/renderer.h b/src/document/html/renderer.h
index ae22fc6a..97ce9012 100644
--- a/src/document/html/renderer.h
+++ b/src/document/html/renderer.h
@@ -37,6 +37,8 @@ enum html_special_type {
SP_IFRAME
};
+typedef unsigned int html_special_type_T;
+
/* Interface with tables.c */
@@ -119,7 +121,7 @@ int qwerty2dec(const char *link_sym, const char *key, int base);
void put_chars_conv(struct html_context *html_context, const char *chars, int charslen);
void line_break(struct html_context *html_context);
-void *html_special(struct html_context *html_context, enum html_special_type c, ...);
+void *html_special(struct html_context *html_context, html_special_type_T c, ...);
#ifdef CONFIG_COMBINE
/** Discard any combining characters that have not yet been combined