[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.287 and 1.288

version 1.287, 2014/10/28 17:36:19 version 1.288, 2014/10/30 20:10:02
Line 51  struct termact {
Line 51  struct termact {
   
 static  size_t    a2width(const struct termp *, const char *);  static  size_t    a2width(const struct termp *, const char *);
 static  size_t    a2height(const struct termp *, const char *);  static  size_t    a2height(const struct termp *, const char *);
 static  size_t    a2offs(const struct termp *, const char *);  
   
 static  void      print_bvspace(struct termp *,  static  void      print_bvspace(struct termp *,
                         const struct mdoc_node *,                          const struct mdoc_node *,
Line 550  a2width(const struct termp *p, const char *v)
Line 549  a2width(const struct termp *p, const char *v)
         return(term_hspan(p, &su));          return(term_hspan(p, &su));
 }  }
   
 static size_t  
 a2offs(const struct termp *p, const char *v)  
 {  
         struct roffsu    su;  
   
         if ('\0' == *v)  
                 return(0);  
         else if (0 == strcmp(v, "left"))  
                 return(0);  
         else if (0 == strcmp(v, "indent"))  
                 return(term_len(p, p->defindent + 1));  
         else if (0 == strcmp(v, "indent-two"))  
                 return(term_len(p, (p->defindent + 1) * 2));  
         else if ( ! a2roffsu(v, &su, SCALE_MAX)) {  
                 SCALE_HS_INIT(&su, term_strlen(p, v));  
                 su.scale /= term_strlen(p, "0");  
         }  
   
         return(term_hspan(p, &su));  
 }  
   
 /*  /*
  * Determine how much space to print out before block elements of `It'   * Determine how much space to print out before block elements of `It'
  * (and thus `Bl') and `Bd'.  And then go ahead and print that space,   * (and thus `Bl') and `Bd'.  And then go ahead and print that space,
Line 659  termp_it_pre(DECL_ARGS)
Line 637  termp_it_pre(DECL_ARGS)
         width = offset = 0;          width = offset = 0;
   
         if (bl->norm->Bl.offs)          if (bl->norm->Bl.offs)
                 offset = a2offs(p, bl->norm->Bl.offs);                  offset = a2width(p, bl->norm->Bl.offs);
   
         switch (type) {          switch (type) {
         case LIST_column:          case LIST_column:
Line 1581  termp_bd_pre(DECL_ARGS)
Line 1559  termp_bd_pre(DECL_ARGS)
         } else if (MDOC_HEAD == n->type)          } else if (MDOC_HEAD == n->type)
                 return(0);                  return(0);
   
         if (n->norm->Bd.offs)          /* Handle the -offset argument. */
                 p->offset += a2offs(p, n->norm->Bd.offs);  
           if (n->norm->Bd.offs == NULL ||
               ! strcmp(n->norm->Bd.offs, "left"))
                   /* nothing */;
           else if ( ! strcmp(n->norm->Bd.offs, "indent"))
                   p->offset += term_len(p, p->defindent + 1);
           else if ( ! strcmp(n->norm->Bd.offs, "indent-two"))
                   p->offset += term_len(p, (p->defindent + 1) * 2);
           else
                   p->offset += a2width(p, n->norm->Bd.offs);
   
         /*          /*
          * If -ragged or -filled are specified, the block does nothing           * If -ragged or -filled are specified, the block does nothing

Legend:
Removed from v.1.287  
changed lines
  Added in v.1.288

CVSweb