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

Diff for /mandoc/term.c between version 1.154 and 1.160

version 1.154, 2010/06/28 23:26:09 version 1.160, 2010/07/07 15:04:54
Line 1 
Line 1 
 /*      $Id$ */  /*      $Id$ */
 /*  /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@bsd.lv>   * Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
    * Copyright (c) 2010 Ingo Schwarze <schwarze@openbsd.org>
  *   *
  * Permission to use, copy, modify, and distribute this software for any   * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above   * purpose with or without fee is hereby granted, provided that the above
Line 653  term_strlen(const struct termp *p, const char *cp)
Line 654  term_strlen(const struct termp *p, const char *cp)
 }  }
   
   
   /* ARGSUSED */
 size_t  size_t
 term_vspan(const struct termp *p, const struct roffsu *su)  term_vspan(const struct termp *p, const struct roffsu *su)
 {  {
Line 692  term_vspan(const struct termp *p, const struct roffsu 
Line 694  term_vspan(const struct termp *p, const struct roffsu 
 size_t  size_t
 term_hspan(const struct termp *p, const struct roffsu *su)  term_hspan(const struct termp *p, const struct roffsu *su)
 {  {
         double           r;          double           v;
   
         /* XXX: CM, IN, and PT are approximations. */          v = ((*p->hspan)(p, su));
           if (v < 0.0)
         switch (su->unit) {                  v = 0.0;
         case (SCALE_CM):          return((size_t) /* LINTED */
                 r = 4 * su->scale;                          v);
                 break;  
         case (SCALE_IN):  
                 /* XXX: this is an approximation. */  
                 r = 10 * su->scale;  
                 break;  
         case (SCALE_PC):  
                 r = (10 * su->scale) / 6;  
                 break;  
         case (SCALE_PT):  
                 r = (10 * su->scale) / 72;  
                 break;  
         case (SCALE_MM):  
                 r = su->scale / 1000; /* FIXME: double-check. */  
                 break;  
         case (SCALE_VS):  
                 r = su->scale * 2 - 1; /* FIXME: double-check. */  
                 break;  
         default:  
                 r = su->scale;  
                 break;  
         }  
   
         if (r < 0.0)  
                 r = 0.0;  
         return((size_t)/* LINTED */  
                         r);  
 }  }
   
   

Legend:
Removed from v.1.154  
changed lines
  Added in v.1.160

CVSweb