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

Diff for /mandoc/Attic/mdocterm.c between version 1.14 and 1.15

version 1.14, 2009/02/25 23:18:50 version 1.15, 2009/02/26 17:11:38
Line 91  main(int argc, char *argv[])
Line 91  main(int argc, char *argv[])
         if (NULL == (termp.buf = malloc(termp.maxcols)))          if (NULL == (termp.buf = malloc(termp.maxcols)))
                 err(1, "malloc");                  err(1, "malloc");
   
         /*header(&termp, mdoc_meta(mdoc));*/          header(&termp, mdoc_meta(mdoc));
         body(&termp, NULL, mdoc_meta(mdoc), mdoc_node(mdoc));          body(&termp, NULL, mdoc_meta(mdoc), mdoc_node(mdoc));
         footer(&termp, mdoc_meta(mdoc));          footer(&termp, mdoc_meta(mdoc));
   
Line 488  footer(struct termp *p, const struct mdoc_meta *meta)
Line 488  footer(struct termp *p, const struct mdoc_meta *meta)
 {  {
         struct tm       *tm;          struct tm       *tm;
         char            *buf, *os;          char            *buf, *os;
         size_t           sz, osz, ssz, i;  
   
         if (NULL == (buf = malloc(p->rmargin)))          if (NULL == (buf = malloc(p->rmargin)))
                 err(1, "malloc");                  err(1, "malloc");
Line 504  footer(struct termp *p, const struct mdoc_meta *meta)
Line 503  footer(struct termp *p, const struct mdoc_meta *meta)
 #endif  #endif
                 err(1, "strftime");                  err(1, "strftime");
   
         osz = strlcpy(os, meta->os, p->rmargin);          (void)strlcpy(os, meta->os, p->rmargin);
   
         sz = strlen(buf);          vspace(p);
         ssz = sz + osz + 1;  
   
         if (ssz > p->rmargin) {          p->flags |= TERMP_NOSPACE | TERMP_NOBREAK;
                 ssz -= p->rmargin;          p->rmargin = p->maxrmargin - strlen(buf);
                 assert(ssz <= osz);          p->offset = 0;
                 os[osz - ssz] = 0;  
                 ssz = 1;  
         } else  
                 ssz = p->rmargin - ssz + 1;  
   
         printf("\n");          word(p, os);
         printf("%s", os);          flushln(p);
         for (i = 0; i < ssz; i++)  
                 printf(" ");  
   
         printf("%s\n", buf);          p->flags |= TERMP_NOLPAD | TERMP_NOSPACE;
         fflush(stdout);          p->offset = p->rmargin;
           p->rmargin = p->maxrmargin;
           p->flags &= ~TERMP_NOBREAK;
   
           word(p, buf);
           flushln(p);
   
         free(buf);          free(buf);
         free(os);          free(os);
 }  }
Line 585  header(struct termp *p, const struct mdoc_meta *meta)
Line 582  header(struct termp *p, const struct mdoc_meta *meta)
   
         p->offset = 0;          p->offset = 0;
         p->rmargin = (p->maxrmargin - strlen(buf)) / 2;          p->rmargin = (p->maxrmargin - strlen(buf)) / 2;
         p->flags |= TERMP_NOBREAK;          p->flags |= TERMP_NOBREAK | TERMP_NOSPACE;
         p->flags |= TERMP_NOSPACE;  
   
         word(p, title);          word(p, title);
         flushln(p);          flushln(p);
   
           p->flags |= TERMP_NOLPAD | TERMP_NOSPACE;
         p->offset = p->rmargin;          p->offset = p->rmargin;
         p->rmargin += strlen(buf);          p->rmargin = p->maxrmargin - strlen(title);
   
         word(p, buf);          word(p, buf);
         flushln(p);          flushln(p);
   
         exit(1);  
   
         p->offset = p->rmargin;          p->offset = p->rmargin;
         p->rmargin = p->maxrmargin;          p->rmargin = p->maxrmargin;
         p->flags &= ~TERMP_NOBREAK;          p->flags &= ~TERMP_NOBREAK;
           p->flags |= TERMP_NOLPAD | TERMP_NOSPACE;
   
         word(p, title);          word(p, title);
         flushln(p);          flushln(p);

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.15

CVSweb