summaryrefslogtreecommitdiffstats
path: root/html.h
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-01-17 01:47:51 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-01-17 01:47:51 +0000
commit3786665f3a0f980a9bbbcb5cd8d674cc679491ab (patch)
treec02a6d2574b2570b9d9e8e04140906512a268118 /html.h
parent7285dcc5cc02f2e79f96fd4647cb1f1ac094b26b (diff)
downloadmandoc-3786665f3a0f980a9bbbcb5cd8d674cc679491ab.tar.gz
Simplify the usage of print_otag() by making it accept a variable
number of arguments. Delete struct htmlpair and all the PAIR_*() macros. Delete enum htmlattr, handle that in print_otag() instead. Minus 190 lines of code; no functional change except better ordering of attributes (class before style) in three cases.
Diffstat (limited to 'html.h')
-rw-r--r--html.h37
1 files changed, 2 insertions, 35 deletions
diff --git a/html.h b/html.h
index 9f650630..c6095ea8 100644
--- a/html.h
+++ b/html.h
@@ -1,6 +1,7 @@
/* $Id$ */
/*
* Copyright (c) 2008-2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
+ * Copyright (c) 2017 Ingo Schwarze <schwarze@openbsd.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -65,23 +66,6 @@ enum htmltag {
TAG_MAX
};
-enum htmlattr {
- ATTR_NAME,
- ATTR_REL,
- ATTR_HREF,
- ATTR_TYPE,
- ATTR_MEDIA,
- ATTR_CLASS,
- ATTR_STYLE,
- ATTR_ID,
- ATTR_COLSPAN,
- ATTR_CHARSET,
- ATTR_OPEN,
- ATTR_CLOSE,
- ATTR_MATHVARIANT,
- ATTR_MAX
-};
-
enum htmlfont {
HTMLFONT_NONE = 0,
HTMLFONT_BOLD,
@@ -99,22 +83,6 @@ struct tagq {
struct tag *head;
};
-struct htmlpair {
- enum htmlattr key;
- const char *val;
-};
-
-#define PAIR_INIT(p, t, v) \
- do { \
- (p)->key = (t); \
- (p)->val = (v); \
- } while (/* CONSTCOND */ 0)
-
-#define PAIR_ID_INIT(p, v) PAIR_INIT(p, ATTR_ID, v)
-#define PAIR_CLASS_INIT(p, v) PAIR_INIT(p, ATTR_CLASS, v)
-#define PAIR_HREF_INIT(p, v) PAIR_INIT(p, ATTR_HREF, v)
-#define PAIR_STYLE_INIT(p, h) PAIR_INIT(p, ATTR_STYLE, (h)->buf)
-
struct html {
int flags;
#define HTML_NOSPACE (1 << 0) /* suppress next space */
@@ -148,8 +116,7 @@ struct eqn;
void print_gen_decls(struct html *);
void print_gen_head(struct html *);
-struct tag *print_otag(struct html *, enum htmltag,
- int, const struct htmlpair *);
+struct tag *print_otag(struct html *, enum htmltag, const char *, ...);
void print_tagq(struct html *, const struct tag *);
void print_stagq(struct html *, const struct tag *);
void print_text(struct html *, const char *);