=================================================================== RCS file: /cvs/mandoc/mdoc.h,v retrieving revision 1.76 retrieving revision 1.80 diff -u -p -r1.76 -r1.80 --- mandoc/mdoc.h 2010/05/12 08:41:17 1.76 +++ mandoc/mdoc.h 2010/05/16 10:59:36 1.80 @@ -1,4 +1,4 @@ -/* $Id: mdoc.h,v 1.76 2010/05/12 08:41:17 kristaps Exp $ */ +/* $Id: mdoc.h,v 1.80 2010/05/16 10:59:36 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -223,7 +223,7 @@ enum mdoc_sec { /* Information from prologue. */ struct mdoc_meta { - int msec; + char *msec; char *vol; char *arch; time_t date; @@ -249,20 +249,21 @@ struct mdoc_arg { /* Node in AST. */ struct mdoc_node { - struct mdoc_node *parent; - struct mdoc_node *child; - struct mdoc_node *next; - struct mdoc_node *prev; - int nchild; - int line; - int pos; - enum mdoct tok; + struct mdoc_node *parent; /* parent AST node */ + struct mdoc_node *child; /* first child AST node */ + struct mdoc_node *next; /* sibling AST node */ + struct mdoc_node *prev; /* prior sibling AST node */ + int nchild; /* number children */ + int line; /* parse line */ + int pos; /* parse column */ + enum mdoct tok; /* tok or MDOC__MAX if none */ int flags; -#define MDOC_VALID (1 << 0) -#define MDOC_ACTED (1 << 1) - enum mdoc_type type; - enum mdoc_sec sec; - +#define MDOC_VALID (1 << 0) /* has been validated */ +#define MDOC_ACTED (1 << 1) /* has been acted upon */ +#define MDOC_EOS (1 << 2) /* at sentence boundary */ +#define MDOC_LINE (1 << 3) /* first macro/text on line */ + enum mdoc_type type; /* AST node type */ + enum mdoc_sec sec; /* current named section */ struct mdoc_arg *args; /* BLOCK/ELEM */ #ifdef UGLY struct mdoc_node *pending; /* BLOCK */ @@ -298,7 +299,7 @@ struct mdoc; void mdoc_free(struct mdoc *); struct mdoc *mdoc_alloc(void *, int, const struct mdoc_cb *); void mdoc_reset(struct mdoc *); -int mdoc_parseln(struct mdoc *, int, char *buf); +int mdoc_parseln(struct mdoc *, int, char *, int); const struct mdoc_node *mdoc_node(const struct mdoc *); const struct mdoc_meta *mdoc_meta(const struct mdoc *); int mdoc_endparse(struct mdoc *);