]> git.cameronkatri.com Git - mandoc.git/blobdiff - libroff.h
Clarify that .Ta as a line macro is a portability problem,
[mandoc.git] / libroff.h
index dd7ad75a947cd4a50d93d6fcdb7b829a4d3831cc..90ef417847c56043dc2eb35d7b23dcf912277dce 100644 (file)
--- a/libroff.h
+++ b/libroff.h
@@ -1,7 +1,7 @@
-/*     $Id: libroff.h,v 1.33 2014/12/01 08:05:52 schwarze Exp $ */
+/*     $Id: libroff.h,v 1.40 2017/06/26 20:09:04 schwarze Exp $ */
 /*
  * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
- * Copyright (c) 2014 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 2014, 2015 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
@@ -34,8 +34,6 @@ struct        tbl_node {
        struct tbl_span  *first_span;
        struct tbl_span  *current_span;
        struct tbl_span  *last_span;
-       struct tbl_head  *first_head;
-       struct tbl_head  *last_head;
        struct tbl_node  *next;
 };
 
@@ -45,10 +43,11 @@ struct      eqn_node {
        struct eqn_node  *next;   /* singly linked list of equations */
        struct eqn_def   *defs;   /* array of definitions */
        char             *data;   /* source code of this equation */
+       char             *start;  /* first byte of the current token */
+       char             *end;    /* first byte of the next token */
        size_t            defsz;  /* number of definitions */
        size_t            sz;     /* length of the source code */
-       size_t            cur;    /* parse point in the source code */
-       size_t            rew;    /* beginning of the current token */
+       size_t            toksz;  /* length of the current token */
        int               gsize;  /* default point size */
        int               delim;  /* in-line delimiters enabled */
        char              odelim; /* in-line opening delimiter */
@@ -62,23 +61,20 @@ struct      eqn_def {
        size_t            valsz;
 };
 
-__BEGIN_DECLS
 
 struct tbl_node        *tbl_alloc(int, int, struct mparse *);
 void            tbl_restart(int, int, struct tbl_node *);
 void            tbl_free(struct tbl_node *);
 void            tbl_reset(struct tbl_node *);
 enum rofferr    tbl_read(struct tbl_node *, int, const char *, int);
-int             tbl_option(struct tbl_node *, int, const char *);
-int             tbl_layout(struct tbl_node *, int, const char *);
-int             tbl_data(struct tbl_node *, int, const char *);
-int             tbl_cdata(struct tbl_node *, int, const char *);
+void            tbl_option(struct tbl_node *, int, const char *, int *);
+void            tbl_layout(struct tbl_node *, int, const char *, int);
+void            tbl_data(struct tbl_node *, int, const char *, int);
+int             tbl_cdata(struct tbl_node *, int, const char *, int);
 const struct tbl_span  *tbl_span(struct tbl_node *);
-void            tbl_end(struct tbl_node **);
+int             tbl_end(struct tbl_node **);
 struct eqn_node        *eqn_alloc(int, int, struct mparse *);
 enum rofferr    eqn_end(struct eqn_node **);
 void            eqn_free(struct eqn_node *);
 enum rofferr    eqn_read(struct eqn_node **, int,
                        const char *, int, int *);
-
-__END_DECLS