[BACK]Return to mdoc_term.c CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/mdoc_term.c between version 1.266 and 1.267

version 1.266, 2014/04/20 20:18:12 version 1.267, 2014/04/23 16:08:33
Line 442  print_mdoc_foot(struct termp *p, const void *arg)
Line 442  print_mdoc_foot(struct termp *p, const void *arg)
 static void  static void
 print_mdoc_head(struct termp *p, const void *arg)  print_mdoc_head(struct termp *p, const void *arg)
 {  {
         char                     buf[BUFSIZ];  
         const struct mdoc_meta  *meta;          const struct mdoc_meta  *meta;
         char                    *title;          char                    *volume, *title;
         size_t                   buflen, titlen;          size_t                   vollen, titlen;
   
         meta = (const struct mdoc_meta *)arg;          meta = (const struct mdoc_meta *)arg;
   
Line 466  print_mdoc_head(struct termp *p, const void *arg)
Line 465  print_mdoc_head(struct termp *p, const void *arg)
         p->rmargin = p->maxrmargin;          p->rmargin = p->maxrmargin;
   
         assert(meta->vol);          assert(meta->vol);
         strlcpy(buf, meta->vol, BUFSIZ);          if (NULL == meta->arch)
         buflen = term_strlen(p, buf);                  volume = mandoc_strdup(meta->vol);
           else
                   mandoc_asprintf(&volume, "%s (%s)",
                       meta->vol, meta->arch);
           vollen = term_strlen(p, volume);
   
         if (meta->arch) {  
                 strlcat(buf, " (", BUFSIZ);  
                 strlcat(buf, meta->arch, BUFSIZ);  
                 strlcat(buf, ")", BUFSIZ);  
         }  
   
         mandoc_asprintf(&title, "%s(%s)", meta->title, meta->msec);          mandoc_asprintf(&title, "%s(%s)", meta->title, meta->msec);
         titlen = term_strlen(p, title);          titlen = term_strlen(p, title);
   
         p->flags |= TERMP_NOBREAK | TERMP_NOSPACE;          p->flags |= TERMP_NOBREAK | TERMP_NOSPACE;
         p->trailspace = 1;          p->trailspace = 1;
         p->offset = 0;          p->offset = 0;
         p->rmargin = 2 * (titlen+1) + buflen < p->maxrmargin ?          p->rmargin = 2 * (titlen+1) + vollen < p->maxrmargin ?
             (p->maxrmargin -              (p->maxrmargin - vollen + term_len(p, 1)) / 2 :
              term_strlen(p, buf) + term_len(p, 1)) / 2 :              p->maxrmargin - vollen;
             p->maxrmargin - buflen;  
   
         term_word(p, title);          term_word(p, title);
         term_flushln(p);          term_flushln(p);
   
         p->flags |= TERMP_NOSPACE;          p->flags |= TERMP_NOSPACE;
         p->offset = p->rmargin;          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;              p->maxrmargin - titlen : p->maxrmargin;
   
         term_word(p, buf);          term_word(p, volume);
         term_flushln(p);          term_flushln(p);
   
         p->flags &= ~TERMP_NOBREAK;          p->flags &= ~TERMP_NOBREAK;
Line 511  print_mdoc_head(struct termp *p, const void *arg)
Line 507  print_mdoc_head(struct termp *p, const void *arg)
         p->offset = 0;          p->offset = 0;
         p->rmargin = p->maxrmargin;          p->rmargin = p->maxrmargin;
         free(title);          free(title);
           free(volume);
 }  }
   
 static size_t  static size_t

Legend:
Removed from v.1.266  
changed lines
  Added in v.1.267

CVSweb