diff options
author | 2018-06-25 16:54:55 +0000 | |
---|---|---|
committer | 2018-06-25 16:54:55 +0000 | |
commit | 5c9781a4157b272c36e22e641cb18100f7dcb2c0 (patch) | |
tree | 3e29ba442ea77bd95713563d3035e60f7fe0fffb | |
parent | white spaces (diff) | |
download | wireguard-openbsd-5c9781a4157b272c36e22e641cb18100f7dcb2c0.tar.xz wireguard-openbsd-5c9781a4157b272c36e22e641cb18100f7dcb2c0.zip |
Delete substantial amounts of code
now that we no longer use variable style= attributes.
-rw-r--r-- | usr.bin/mandoc/html.c | 157 | ||||
-rw-r--r-- | usr.bin/mandoc/html.h | 3 | ||||
-rw-r--r-- | usr.bin/mandoc/mdoc_html.c | 7 | ||||
-rw-r--r-- | usr.bin/mandoc/out.h | 7 |
4 files changed, 23 insertions, 151 deletions
diff --git a/usr.bin/mandoc/html.c b/usr.bin/mandoc/html.c index cd6371c34ef..c882174ad4e 100644 --- a/usr.bin/mandoc/html.c +++ b/usr.bin/mandoc/html.c @@ -1,4 +1,4 @@ -/* $OpenBSD: html.c,v 1.107 2018/06/25 14:13:50 schwarze Exp $ */ +/* $OpenBSD: html.c,v 1.108 2018/06/25 16:54:55 schwarze Exp $ */ /* * Copyright (c) 2008-2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2011-2015, 2017, 2018 Ingo Schwarze <schwarze@openbsd.org> @@ -102,19 +102,6 @@ static const struct htmldata htmltags[TAG_MAX] = { {"mover", 0}, }; -static const char *const roffscales[SCALE_MAX] = { - "cm", /* SCALE_CM */ - "in", /* SCALE_IN */ - "pc", /* SCALE_PC */ - "pt", /* SCALE_PT */ - "em", /* SCALE_EM */ - "em", /* SCALE_MM */ - "ex", /* SCALE_EN */ - "ex", /* SCALE_BU */ - "em", /* SCALE_VS */ - "ex", /* SCALE_FS */ -}; - /* Avoid duplicate HTML id= attributes. */ static struct ohash id_unique; @@ -321,57 +308,6 @@ html_make_id(const struct roff_node *n, int unique) return buf; } -int -html_strlen(const char *cp) -{ - size_t rsz; - int skip, sz; - - /* - * Account for escaped sequences within string length - * calculations. This follows the logic in term_strlen() as we - * must calculate the width of produced strings. - * Assume that characters are always width of "1". This is - * hacky, but it gets the job done for approximation of widths. - */ - - sz = 0; - skip = 0; - while (1) { - rsz = strcspn(cp, "\\"); - if (rsz) { - cp += rsz; - if (skip) { - skip = 0; - rsz--; - } - sz += rsz; - } - if ('\0' == *cp) - break; - cp++; - switch (mandoc_escape(&cp, NULL, NULL)) { - case ESCAPE_ERROR: - return sz; - case ESCAPE_UNICODE: - case ESCAPE_NUMBERED: - case ESCAPE_SPECIAL: - case ESCAPE_OVERSTRIKE: - if (skip) - skip = 0; - else - sz++; - break; - case ESCAPE_SKIPCHAR: - skip = 1; - break; - default: - break; - } - } - return sz; -} - static int print_escape(struct html *h, char c) { @@ -551,13 +487,10 @@ struct tag * print_otag(struct html *h, enum htmltag tag, const char *fmt, ...) { va_list ap; - struct roffsu *su; - char numbuf[16]; struct tag *t; const char *attr; char *arg1, *arg2; - double v; - int have_style, tflags; + int tflags; tflags = htmltags[tag].flags; @@ -597,17 +530,12 @@ print_otag(struct html *h, enum htmltag tag, const char *fmt, ...) va_start(ap, fmt); - have_style = 0; while (*fmt != '\0') { - if (*fmt == 's') { - have_style = 1; - fmt++; - break; - } - /* Parse a non-style attribute and its arguments. */ + /* Parse attributes and arguments. */ arg1 = va_arg(ap, char *); + arg2 = NULL; switch (*fmt++) { case 'c': attr = "class"; @@ -618,6 +546,10 @@ print_otag(struct html *h, enum htmltag tag, const char *fmt, ...) case 'i': attr = "id"; break; + case 's': + attr = "style"; + arg2 = va_arg(ap, char *); + break; case '?': attr = arg1; arg1 = va_arg(ap, char *); @@ -625,13 +557,12 @@ print_otag(struct html *h, enum htmltag tag, const char *fmt, ...) default: abort(); } - arg2 = NULL; if (*fmt == 'M') arg2 = va_arg(ap, char *); if (arg1 == NULL) continue; - /* Print the non-style attributes. */ + /* Print the attributes. */ print_byte(h, ' '); print_word(h, attr); @@ -658,71 +589,19 @@ print_otag(struct html *h, enum htmltag tag, const char *fmt, ...) fmt++; break; default: - print_encode(h, arg1, NULL, 1); + if (arg2 == NULL) + print_encode(h, arg1, NULL, 1); + else { + print_word(h, arg1); + print_byte(h, ':'); + print_byte(h, ' '); + print_word(h, arg2); + print_byte(h, ';'); + } break; } print_byte(h, '"'); } - - /* Print out styles. */ - - while (*fmt != '\0') { - arg1 = NULL; - su = NULL; - - /* First letter: input argument type. */ - - switch (*fmt++) { - case 's': - arg1 = va_arg(ap, char *); - break; - case 'u': - su = va_arg(ap, struct roffsu *); - break; - default: - abort(); - } - - /* Second letter: style name. */ - - switch (*fmt++) { - case 'h': - attr = "height"; - break; - case '?': - attr = arg1; - arg1 = va_arg(ap, char *); - break; - default: - abort(); - } - if (su == NULL && arg1 == NULL) - continue; - - if (have_style == 1) - print_word(h, " style=\""); - else - print_byte(h, ' '); - print_word(h, attr); - print_byte(h, ':'); - print_byte(h, ' '); - if (su != NULL) { - v = su->scale; - if (su->unit == SCALE_MM && (v /= 100.0) == 0.0) - v = 1.0; - else if (su->unit == SCALE_BU) - v /= 24.0; - (void)snprintf(numbuf, sizeof(numbuf), "%.2f", v); - print_word(h, numbuf); - print_word(h, roffscales[su->unit]); - } else - print_word(h, arg1); - print_byte(h, ';'); - have_style = 2; - } - if (have_style == 2) - print_byte(h, '"'); - va_end(ap); /* Accommodate for "well-formed" singleton escaping. */ diff --git a/usr.bin/mandoc/html.h b/usr.bin/mandoc/html.h index e544d18c416..750c4b7e095 100644 --- a/usr.bin/mandoc/html.h +++ b/usr.bin/mandoc/html.h @@ -1,4 +1,4 @@ -/* $OpenBSD: html.h,v 1.53 2018/06/25 13:46:01 schwarze Exp $ */ +/* $OpenBSD: html.h,v 1.54 2018/06/25 16:54:55 schwarze Exp $ */ /* * Copyright (c) 2008-2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2017, 2018 Ingo Schwarze <schwarze@openbsd.org> @@ -132,4 +132,3 @@ void print_paragraph(struct html *); void print_endline(struct html *); char *html_make_id(const struct roff_node *, int); -int html_strlen(const char *); diff --git a/usr.bin/mandoc/mdoc_html.c b/usr.bin/mandoc/mdoc_html.c index 9643ef6ee61..ca3ffa8e10c 100644 --- a/usr.bin/mandoc/mdoc_html.c +++ b/usr.bin/mandoc/mdoc_html.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mdoc_html.c,v 1.183 2018/06/25 14:06:03 schwarze Exp $ */ +/* $OpenBSD: mdoc_html.c,v 1.184 2018/06/25 16:54:55 schwarze Exp $ */ /* * Copyright (c) 2008-2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2014,2015,2016,2017,2018 Ingo Schwarze <schwarze@openbsd.org> @@ -717,8 +717,7 @@ mdoc_it_pre(MDOC_ARGS) break; case ROFFT_BODY: if (n->child == NULL) { - print_otag(h, TAG_DD, "ss?", - "width", "auto"); + print_otag(h, TAG_DD, "s", "width", "auto"); print_text(h, "\\ "); } else print_otag(h, TAG_DD, ""); @@ -1173,7 +1172,7 @@ mdoc_fn_pre(MDOC_ARGS) for (n = n->child->next; n; n = n->next) { if (NODE_SYNPRETTY & n->flags) - t = print_otag(h, TAG_VAR, "cTss?", "Fa", + t = print_otag(h, TAG_VAR, "cTs", "Fa", "white-space", "nowrap"); else t = print_otag(h, TAG_VAR, "cT", "Fa"); diff --git a/usr.bin/mandoc/out.h b/usr.bin/mandoc/out.h index 8ba11adac37..6e2df268a8e 100644 --- a/usr.bin/mandoc/out.h +++ b/usr.bin/mandoc/out.h @@ -1,4 +1,4 @@ -/* $OpenBSD: out.h,v 1.22 2017/06/27 18:23:29 schwarze Exp $ */ +/* $OpenBSD: out.h,v 1.23 2018/06/25 16:54:55 schwarze Exp $ */ /* * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2014, 2017 Ingo Schwarze <schwarze@openbsd.org> @@ -54,11 +54,6 @@ struct rofftbl { void *arg; /* passed to sulen, slen, and len */ }; -#define SCALE_VS_INIT(p, v) \ - do { (p)->unit = SCALE_VS; \ - (p)->scale = (v); } \ - while (/* CONSTCOND */ 0) - #define SCALE_HS_INIT(p, v) \ do { (p)->unit = SCALE_EN; \ (p)->scale = (v); } \ |