=================================================================== RCS file: /cvs/mandoc/html.h,v retrieving revision 1.74 retrieving revision 1.80 diff -u -p -r1.74 -r1.80 --- mandoc/html.h 2017/01/17 01:47:51 1.74 +++ mandoc/html.h 2017/01/29 14:02:42 1.80 @@ -1,4 +1,4 @@ -/* $Id: html.h,v 1.74 2017/01/17 01:47:51 schwarze Exp $ */ +/* $Id: html.h,v 1.80 2017/01/29 14:02:42 schwarze Exp $ */ /* * Copyright (c) 2008-2011, 2014 Kristaps Dzonsons * Copyright (c) 2017 Ingo Schwarze @@ -40,7 +40,6 @@ enum htmltag { TAG_DL, TAG_DT, TAG_DD, - TAG_BLOCKQUOTE, TAG_PRE, TAG_B, TAG_I, @@ -79,10 +78,6 @@ struct tag { enum htmltag tag; }; -struct tagq { - struct tag *head; -}; - struct html { int flags; #define HTML_NOSPACE (1 << 0) /* suppress next space */ @@ -95,14 +90,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
 */
+	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 */
@@ -124,18 +123,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 *);
-
-void		  bufcat_fmt(struct html *, const char *, ...)
-			__attribute__((__format__ (printf, 2, 3)));
-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 *);