]> git.cameronkatri.com Git - mandoc.git/blobdiff - mdoc_term.c
delete some TODO entries that were already fixed
[mandoc.git] / mdoc_term.c
index 342ca5aa166f6a64188689bd74958144f76a1f4a..be170bf549885902d9a0c7e823ce3cc4ff0050d1 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: mdoc_term.c,v 1.314 2015/04/02 21:36:50 schwarze Exp $ */
+/*     $Id: mdoc_term.c,v 1.319 2015/04/18 17:53:21 schwarze Exp $ */
 /*
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2010, 2012-2015 Ingo Schwarze <schwarze@openbsd.org>
@@ -43,8 +43,8 @@ struct        termpair {
 
 #define        DECL_ARGS struct termp *p, \
                  struct termpair *pair, \
-                 const struct mdoc_meta *meta, \
-                 struct mdoc_node *n
+                 const struct roff_meta *meta, \
+                 struct roff_node *n
 
 struct termact {
        int     (*pre)(DECL_ARGS);
@@ -54,14 +54,14 @@ struct      termact {
 static int       a2width(const struct termp *, const char *);
 
 static void      print_bvspace(struct termp *,
-                       const struct mdoc_node *,
-                       const struct mdoc_node *);
+                       const struct roff_node *,
+                       const struct roff_node *);
 static void      print_mdoc_node(DECL_ARGS);
 static void      print_mdoc_nodelist(DECL_ARGS);
-static void      print_mdoc_head(struct termp *, const void *);
-static void      print_mdoc_foot(struct termp *, const void *);
+static void      print_mdoc_head(struct termp *, const struct roff_meta *);
+static void      print_mdoc_foot(struct termp *, const struct roff_meta *);
 static void      synopsis_pre(struct termp *,
-                       const struct mdoc_node *);
+                       const struct roff_node *);
 
 static void      termp____post(DECL_ARGS);
 static void      termp__t_post(DECL_ARGS);
@@ -251,27 +251,24 @@ static    const struct termact termacts[MDOC_MAX] = {
 
 
 void
-terminal_mdoc(void *arg, const struct mdoc *mdoc)
+terminal_mdoc(void *arg, const struct roff_man *mdoc)
 {
-       const struct mdoc_meta  *meta;
-       struct mdoc_node        *n;
+       struct roff_node        *n;
        struct termp            *p;
 
        p = (struct termp *)arg;
-
        p->overstep = 0;
        p->rmargin = p->maxrmargin = p->defrmargin;
        p->tabwidth = term_len(p, 5);
 
-       n = mdoc_node(mdoc)->child;
-       meta = mdoc_meta(mdoc);
-
+       n = mdoc->first->child;
        if (p->synopsisonly) {
                while (n != NULL) {
                        if (n->tok == MDOC_Sh && n->sec == SEC_SYNOPSIS) {
                                if (n->child->next->child != NULL)
                                        print_mdoc_nodelist(p, NULL,
-                                           meta, n->child->next->child);
+                                           &mdoc->meta,
+                                           n->child->next->child);
                                term_newln(p);
                                break;
                        }
@@ -280,11 +277,12 @@ terminal_mdoc(void *arg, const struct mdoc *mdoc)
        } else {
                if (p->defindent == 0)
                        p->defindent = 5;
-               term_begin(p, print_mdoc_head, print_mdoc_foot, meta);
+               term_begin(p, print_mdoc_head, print_mdoc_foot,
+                   &mdoc->meta);
                if (n != NULL) {
                        if (n->tok != MDOC_Sh)
                                term_vspace(p);
-                       print_mdoc_nodelist(p, NULL, meta, n);
+                       print_mdoc_nodelist(p, NULL, &mdoc->meta, n);
                }
                term_end(p);
        }
@@ -407,13 +405,10 @@ print_mdoc_node(DECL_ARGS)
 }
 
 static void
-print_mdoc_foot(struct termp *p, const void *arg)
+print_mdoc_foot(struct termp *p, const struct roff_meta *meta)
 {
-       const struct mdoc_meta *meta;
        size_t sz;
 
-       meta = (const struct mdoc_meta *)arg;
-
        term_fontrepl(p, TERMFONT_NONE);
 
        /*
@@ -459,14 +454,11 @@ print_mdoc_foot(struct termp *p, const void *arg)
 }
 
 static void
-print_mdoc_head(struct termp *p, const void *arg)
+print_mdoc_head(struct termp *p, const struct roff_meta *meta)
 {
-       const struct mdoc_meta  *meta;
        char                    *volume, *title;
        size_t                   vollen, titlen;
 
-       meta = (const struct mdoc_meta *)arg;
-
        /*
         * The header is strange.  It has three components, which are
         * really two with the first duplicated.  It goes like this:
@@ -539,7 +531,7 @@ a2width(const struct termp *p, const char *v)
                SCALE_HS_INIT(&su, term_strlen(p, v));
                su.scale /= term_strlen(p, "0");
        }
-       return(term_hspan(p, &su));
+       return(term_hspan(p, &su) / 24);
 }
 
 /*
@@ -549,10 +541,10 @@ a2width(const struct termp *p, const char *v)
  */
 static void
 print_bvspace(struct termp *p,
-       const struct mdoc_node *bl,
-       const struct mdoc_node *n)
+       const struct roff_node *bl,
+       const struct roff_node *n)
 {
-       const struct mdoc_node  *nn;
+       const struct roff_node  *nn;
 
        assert(n);
 
@@ -610,7 +602,7 @@ static int
 termp_it_pre(DECL_ARGS)
 {
        char                    buf[24];
-       const struct mdoc_node *bl, *nn;
+       const struct roff_node *bl, *nn;
        size_t                  ncols, dcol;
        int                     i, offset, width;
        enum mdoc_list          type;
@@ -1267,7 +1259,7 @@ termp_xr_pre(DECL_ARGS)
  * macro combos).
  */
 static void
-synopsis_pre(struct termp *p, const struct mdoc_node *n)
+synopsis_pre(struct termp *p, const struct roff_node *n)
 {
        /*
         * Obviously, if we're not in a SYNOPSIS or no prior macros
@@ -1515,7 +1507,7 @@ termp_fn_pre(DECL_ARGS)
 static int
 termp_fa_pre(DECL_ARGS)
 {
-       const struct mdoc_node  *nn;
+       const struct roff_node  *nn;
 
        if (n->parent->tok != MDOC_Fo) {
                term_fontpush(p, TERMFONT_UNDER);
@@ -1541,7 +1533,7 @@ static int
 termp_bd_pre(DECL_ARGS)
 {
        size_t                   tabwidth, lm, len, rm, rmax;
-       struct mdoc_node        *nn;
+       struct roff_node        *nn;
        int                      offset;
 
        if (n->type == ROFFT_BLOCK) {
@@ -2170,7 +2162,7 @@ termp_li_pre(DECL_ARGS)
 static int
 termp_lk_pre(DECL_ARGS)
 {
-       const struct mdoc_node *link, *descr;
+       const struct roff_node *link, *descr;
 
        if (NULL == (link = n->child))
                return(0);