=================================================================== RCS file: /cvs/mandoc/man.h,v retrieving revision 1.64 retrieving revision 1.70 diff -u -p -r1.64 -r1.70 --- mandoc/man.h 2014/03/30 19:47:48 1.64 +++ mandoc/man.h 2015/04/02 21:36:49 1.70 @@ -1,4 +1,4 @@ -/* $Id: man.h,v 1.64 2014/03/30 19:47:48 schwarze Exp $ */ +/* $Id: man.h,v 1.70 2015/04/02 21:36:49 schwarze Exp $ */ /* * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2014 Ingo Schwarze @@ -15,8 +15,6 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#ifndef MAN_H -#define MAN_H enum mant { MAN_br = 0, @@ -40,7 +38,6 @@ enum mant { MAN_I, MAN_IR, MAN_RI, - MAN_na, MAN_sp, MAN_nf, MAN_fi, @@ -61,24 +58,13 @@ enum mant { MAN_MAX }; -enum man_type { - MAN_TEXT, - MAN_ELEM, - MAN_ROOT, - MAN_BLOCK, - MAN_HEAD, - MAN_BODY, - MAN_TAIL, - MAN_TBL, - MAN_EQN -}; - struct man_meta { char *msec; /* `TH' section (1, 3p, etc.) */ char *date; /* `TH' normalised date */ char *vol; /* `TH' volume */ char *title; /* `TH' title (e.g., FOO) */ char *source; /* `TH' source (e.g., GNU) */ + int hasbody; /* document is not empty */ }; struct man_node { @@ -94,13 +80,14 @@ struct man_node { #define MAN_VALID (1 << 0) /* has been validated */ #define MAN_EOS (1 << 2) /* at sentence boundary */ #define MAN_LINE (1 << 3) /* first macro/text on line */ - enum man_type type; /* AST node type */ + enum roff_type type; /* AST node type */ char *string; /* TEXT node argument */ struct man_node *head; /* BLOCK node HEAD ptr */ struct man_node *tail; /* BLOCK node TAIL ptr */ struct man_node *body; /* BLOCK node BODY ptr */ const struct tbl_span *span; /* TBL */ const struct eqn *eqn; /* EQN */ + int aux; /* decoded node data, type-dependent */ }; /* Names of macros. Index is enum mant. */ @@ -116,5 +103,3 @@ const struct mparse *man_mparse(const struct man *); void man_deroff(char **, const struct man_node *); __END_DECLS - -#endif /*!MAN_H*/