diff options
author | Yuri Pankov <yuri.pankov@nexenta.com> | 2017-05-28 20:36:38 +0300 |
---|---|---|
committer | Richard Lowe <richlowe@richlowe.net> | 2017-06-21 16:46:29 -0400 |
commit | a40ea1a7d80eee1b409e9dcc2e48c730988147ea (patch) | |
tree | 83ffaf56553e3c7cda31f650a37a1e0c7f2b5b90 /usr/src/cmd/mandoc/html.h | |
parent | 299c9e70a71f87365f8f88fdea2cccbd0d5b8db6 (diff) | |
download | illumos-gate-a40ea1a7d80eee1b409e9dcc2e48c730988147ea.tar.gz |
8297 update mdocml to 1.14.1
Reviewed by: Robert Mustacchi <rm@joyent.com>
Approved by: Richard Lowe <richlowe@richlowe.net>
Diffstat (limited to 'usr/src/cmd/mandoc/html.h')
-rw-r--r-- | usr/src/cmd/mandoc/html.h | 74 |
1 files changed, 14 insertions, 60 deletions
diff --git a/usr/src/cmd/mandoc/html.h b/usr/src/cmd/mandoc/html.h index 27dc140185..5be2f82db6 100644 --- a/usr/src/cmd/mandoc/html.h +++ b/usr/src/cmd/mandoc/html.h @@ -1,6 +1,7 @@ -/* $Id: html.h,v 1.72 2015/11/07 14:01:16 schwarze Exp $ */ +/* $Id: html.h,v 1.83 2017/02/05 20:22:04 schwarze Exp $ */ /* * 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 @@ -29,7 +30,7 @@ enum htmltag { TAG_BR, TAG_A, TAG_TABLE, - TAG_TBODY, + TAG_COLGROUP, TAG_COL, TAG_TR, TAG_TD, @@ -39,8 +40,9 @@ enum htmltag { TAG_DL, TAG_DT, TAG_DD, - TAG_BLOCKQUOTE, TAG_PRE, + TAG_VAR, + TAG_CITE, TAG_B, TAG_I, TAG_CODE, @@ -65,23 +67,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, @@ -95,26 +80,6 @@ struct tag { enum htmltag tag; }; -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 */ @@ -127,14 +92,18 @@ struct html { #define HTML_NOSPLIT (1 << 7) /* do not break line before .An */ #define HTML_SPLIT (1 << 8) /* break line before .An */ #define HTML_NONEWLINE (1 << 9) /* No line break in nofill mode. */ - struct tagq tags; /* stack of open tags */ +#define HTML_BUFFER (1 << 10) /* Collect a word to see if it fits. */ + size_t indent; /* current output indentation level */ + int noindent; /* indent disabled by <pre> */ + size_t col; /* current output byte position */ + size_t bufcol; /* current buf byte position */ + char buf[80]; /* output buffer */ + struct tag *tag; /* last open tag */ struct rofftbl tbl; /* current table */ struct tag *tblt; /* current open table scope */ char *base_man; /* base for manpage href */ char *base_includes; /* base for include href */ char *style; /* style-sheet URI */ - char buf[BUFSIZ]; /* see bufcat and friends */ - size_t buflen; struct tag *metaf; /* current open font scope */ enum htmlfont metal; /* last used font */ enum htmlfont metac; /* current font mode */ @@ -148,8 +117,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 *); @@ -157,20 +125,6 @@ void print_tblclose(struct html *); void print_tbl(struct html *, const struct tbl_span *); void print_eqn(struct html *, const struct eqn *); void print_paragraph(struct html *); - -#if __GNUC__ - 0 >= 4 -__attribute__((__format__ (__printf__, 2, 3))) -#endif -void bufcat_fmt(struct html *, const char *, ...); -void bufcat(struct html *, const char *); -void bufcat_id(struct html *, const char *); -void bufcat_style(struct html *, - const char *, const char *); -void bufcat_su(struct html *, const char *, - const struct roffsu *); -void bufinit(struct html *); -void buffmt_man(struct html *, - const char *, const char *); -void buffmt_includes(struct html *, const char *); +void print_endline(struct html *); int html_strlen(const char *); |