[BACK]Return to term_ps.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / mandoc

Diff for /src/usr.bin/mandoc/term_ps.c between version 1.8 and 1.9

version 1.8, 2010/07/31 21:43:07 version 1.9, 2010/08/18 01:30:16
Line 353 
Line 353 
   
 /* These work the buffer used by the header and footer. */  /* These work the buffer used by the header and footer. */
 #define PS_BUFSLOP        128  #define PS_BUFSLOP        128
 #define PS_GROWBUF(p, sz) \  
         do if ((p)->engine.ps.psmargcur + (sz) > \  
                         (p)->engine.ps.psmargsz) { \  
                 (p)->engine.ps.psmargsz += /* CONSTCOND */ \  
                         MAX(PS_BUFSLOP, (sz)); \  
                 (p)->engine.ps.psmarg = realloc \  
                         ((p)->engine.ps.psmarg,  \  
                          (p)->engine.ps.psmargsz); \  
                 if (NULL == (p)->engine.ps.psmarg) { \  
                         perror(NULL); \  
                         exit(EXIT_FAILURE); \  
                 } \  
         } while (/* CONSTCOND */ 0)  
   
   static void
   ps_growbuf(struct termp *p, size_t sz)
   {
           if (p->engine.ps.psmargcur + sz <= p->engine.ps.psmargsz)
                   return;
   
           if (sz < PS_BUFSLOP)
                   sz = PS_BUFSLOP;
   
           p->engine.ps.psmargsz += sz;
   
           p->engine.ps.psmarg = realloc
                   (p->engine.ps.psmarg,
                    p->engine.ps.psmargsz);
   
           if (NULL == p->engine.ps.psmarg) {
                   perror(NULL);
                   exit(EXIT_FAILURE);
           }
   }
   
 static  double            ps_hspan(const struct termp *,  static  double            ps_hspan(const struct termp *,
                                 const struct roffsu *);                                  const struct roffsu *);
 static  size_t            ps_width(const struct termp *, char);  static  size_t            ps_width(const struct termp *, char);
Line 556 
Line 563 
          * assumption that will cause pukeage if it's not the case.           * assumption that will cause pukeage if it's not the case.
          */           */
   
         PS_GROWBUF(p, PS_BUFSLOP);          ps_growbuf(p, PS_BUFSLOP);
   
         pos = (int)p->engine.ps.psmargcur;          pos = (int)p->engine.ps.psmargcur;
         len = vsnprintf(&p->engine.ps.psmarg[pos], PS_BUFSLOP, fmt, ap);          len = vsnprintf(&p->engine.ps.psmarg[pos], PS_BUFSLOP, fmt, ap);
Line 580 
Line 587 
                 return;                  return;
         }          }
   
         PS_GROWBUF(p, 2);          ps_growbuf(p, 2);
   
         pos = (int)p->engine.ps.psmargcur++;          pos = (int)p->engine.ps.psmargcur++;
         p->engine.ps.psmarg[pos++] = c;          p->engine.ps.psmarg[pos++] = c;

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9