]> git.cameronkatri.com Git - mandoc.git/blobdiff - man_term.c
... and remove the trailing spaces (duh. i should pay more attention)
[mandoc.git] / man_term.c
index f3fc411483a308f9733d5af66dbf84d3607a4c3d..d61b728dea1531aab0afbb9659ad772f415ccf83 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: man_term.c,v 1.147 2014/04/20 20:18:12 schwarze Exp $ */
+/*     $Id: man_term.c,v 1.150 2014/08/10 23:54:41 schwarze Exp $ */
 /*
  * Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2010-2014 Ingo Schwarze <schwarze@openbsd.org>
@@ -15,9 +15,7 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
-#ifdef HAVE_CONFIG_H
 #include "config.h"
-#endif
 
 #include <sys/types.h>
 
@@ -1061,7 +1059,8 @@ print_man_foot(struct termp *p, const void *arg)
 
        term_fontrepl(p, TERMFONT_NONE);
 
-       term_vspace(p);
+       if (meta->hasbody)
+               term_vspace(p);
 
        /*
         * Temporary, undocumented option to imitate mdoc(7) output.
@@ -1070,8 +1069,10 @@ print_man_foot(struct termp *p, const void *arg)
         */
 
        if ( ! p->mdocstyle) {
-               term_vspace(p);
-               term_vspace(p);
+               if (meta->hasbody) {
+                       term_vspace(p);
+                       term_vspace(p);
+               }
                mandoc_asprintf(&title, "%s(%s)",
                    meta->title, meta->msec);
        } else if (meta->source) {
@@ -1119,20 +1120,17 @@ print_man_foot(struct termp *p, const void *arg)
 static void
 print_man_head(struct termp *p, const void *arg)
 {
-       char                     buf[BUFSIZ];
        const struct man_meta   *meta;
+       const char              *volume;
        char                    *title;
-       size_t                   buflen, titlen;
+       size_t                   vollen, titlen;
 
        meta = (const struct man_meta *)arg;
        assert(meta->title);
        assert(meta->msec);
 
-       if (meta->vol)
-               strlcpy(buf, meta->vol, BUFSIZ);
-       else
-               buf[0] = '\0';
-       buflen = term_strlen(p, buf);
+       volume = NULL == meta->vol ? "" : meta->vol;
+       vollen = term_strlen(p, volume);
 
        /* Top left corner: manual title and section. */
 
@@ -1142,10 +1140,9 @@ print_man_head(struct termp *p, const void *arg)
        p->flags |= TERMP_NOBREAK | TERMP_NOSPACE;
        p->trailspace = 1;
        p->offset = 0;
-       p->rmargin = 2 * (titlen+1) + buflen < p->maxrmargin ?
-           (p->maxrmargin -
-            term_strlen(p, buf) + term_len(p, 1)) / 2 :
-           p->maxrmargin - buflen;
+       p->rmargin = 2 * (titlen+1) + vollen < p->maxrmargin ?
+           (p->maxrmargin - vollen + term_len(p, 1)) / 2 :
+           p->maxrmargin - vollen;
 
        term_word(p, title);
        term_flushln(p);
@@ -1154,10 +1151,10 @@ print_man_head(struct termp *p, const void *arg)
 
        p->flags |= TERMP_NOSPACE;
        p->offset = p->rmargin;
-       p->rmargin = p->offset + buflen + titlen < p->maxrmargin ?
+       p->rmargin = p->offset + vollen + titlen < p->maxrmargin ?
            p->maxrmargin - titlen : p->maxrmargin;
 
-       term_word(p, buf);
+       term_word(p, volume);
        term_flushln(p);
 
        /* Top right corner: title and section, again. */