diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2017-01-17 01:47:51 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2017-01-17 01:47:51 +0000 |
commit | 3786665f3a0f980a9bbbcb5cd8d674cc679491ab (patch) | |
tree | c02a6d2574b2570b9d9e8e04140906512a268118 /html.h | |
parent | 7285dcc5cc02f2e79f96fd4647cb1f1ac094b26b (diff) | |
download | mandoc-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.h | 37 |
1 files changed, 2 insertions, 35 deletions
@@ -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 *); |