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

Diff for /mandoc/man_term.c between version 1.163 and 1.164

version 1.163, 2014/12/23 13:48:57 version 1.164, 2014/12/24 09:58:35
Line 21 
Line 21 
   
 #include <assert.h>  #include <assert.h>
 #include <ctype.h>  #include <ctype.h>
   #include <limits.h>
 #include <stdio.h>  #include <stdio.h>
 #include <stdlib.h>  #include <stdlib.h>
 #include <string.h>  #include <string.h>
Line 432  pre_in(DECL_ARGS)
Line 433  pre_in(DECL_ARGS)
                 p->offset += v;                  p->offset += v;
         else          else
                 p->offset = v;                  p->offset = v;
           if (p->offset > SHRT_MAX)
                   p->offset = term_len(p, p->defindent);
   
         return(0);          return(0);
 }  }
Line 508  pre_HP(DECL_ARGS)
Line 511  pre_HP(DECL_ARGS)
         if ((nn = n->parent->head->child) != NULL &&          if ((nn = n->parent->head->child) != NULL &&
             a2roffsu(nn->string, &su, SCALE_EN)) {              a2roffsu(nn->string, &su, SCALE_EN)) {
                 len = term_hspan(p, &su);                  len = term_hspan(p, &su);
                   if (len < 0 && (size_t)(-len) > mt->offset)
                           len = -mt->offset;
                   else if (len > SHRT_MAX)
                           len = term_len(p, p->defindent);
                 mt->lmargin[mt->lmargincur] = len;                  mt->lmargin[mt->lmargincur] = len;
         } else          } else
                 len = mt->lmargin[mt->lmargincur];                  len = mt->lmargin[mt->lmargincur];
   
         p->offset = mt->offset;          p->offset = mt->offset;
         if (len > 0 || (size_t)(-len) < mt->offset)          p->rmargin = mt->offset + len;
                 p->rmargin = mt->offset + len;  
         else  
                 p->rmargin = 0;  
   
         return(1);          return(1);
 }  }
   
Line 582  pre_IP(DECL_ARGS)
Line 585  pre_IP(DECL_ARGS)
             (nn = nn->next) != NULL &&              (nn = nn->next) != NULL &&
             a2roffsu(nn->string, &su, SCALE_EN)) {              a2roffsu(nn->string, &su, SCALE_EN)) {
                 len = term_hspan(p, &su);                  len = term_hspan(p, &su);
                 mt->lmargin[mt->lmargincur] = len;  
                 if (len < 0 && (size_t)(-len) > mt->offset)                  if (len < 0 && (size_t)(-len) > mt->offset)
                         len = -mt->offset;                          len = -mt->offset;
                   else if (len > SHRT_MAX)
                           len = term_len(p, p->defindent);
                   mt->lmargin[mt->lmargincur] = len;
         } else          } else
                 len = mt->lmargin[mt->lmargincur];                  len = mt->lmargin[mt->lmargincur];
   
Line 662  pre_TP(DECL_ARGS)
Line 667  pre_TP(DECL_ARGS)
             nn->string != NULL && ! (MAN_LINE & nn->flags) &&              nn->string != NULL && ! (MAN_LINE & nn->flags) &&
             a2roffsu(nn->string, &su, SCALE_EN)) {              a2roffsu(nn->string, &su, SCALE_EN)) {
                 len = term_hspan(p, &su);                  len = term_hspan(p, &su);
                 mt->lmargin[mt->lmargincur] = len;  
                 if (len < 0 && (size_t)(-len) > mt->offset)                  if (len < 0 && (size_t)(-len) > mt->offset)
                         len = -mt->offset;                          len = -mt->offset;
                   else if (len > SHRT_MAX)
                           len = term_len(p, p->defindent);
                   mt->lmargin[mt->lmargincur] = len;
         } else          } else
                 len = mt->lmargin[mt->lmargincur];                  len = mt->lmargin[mt->lmargincur];
   
Line 845  pre_RS(DECL_ARGS)
Line 852  pre_RS(DECL_ARGS)
                 break;                  break;
         }          }
   
           len = SHRT_MAX + 1;
         if ((n = n->parent->head->child) != NULL &&          if ((n = n->parent->head->child) != NULL &&
             a2roffsu(n->string, &su, SCALE_EN))              a2roffsu(n->string, &su, SCALE_EN))
                 len = term_hspan(p, &su);                  len = term_hspan(p, &su);
         else          if (len > SHRT_MAX)
                 len = term_len(p, p->defindent);                  len = term_len(p, p->defindent);
   
         if (len > 0 || (size_t)(-len) < mt->offset)          if (len > 0 || (size_t)(-len) < mt->offset)
Line 881  post_RS(DECL_ARGS)
Line 889  post_RS(DECL_ARGS)
                 break;                  break;
         }          }
   
           len = SHRT_MAX + 1;
         if ((n = n->parent->head->child) != NULL &&          if ((n = n->parent->head->child) != NULL &&
             a2roffsu(n->string, &su, SCALE_EN))              a2roffsu(n->string, &su, SCALE_EN))
                 len = term_hspan(p, &su);                  len = term_hspan(p, &su);
         else          if (len > SHRT_MAX)
                 len = term_len(p, p->defindent);                  len = term_len(p, p->defindent);
   
         if (len < 0 || (size_t)len < mt->offset)          if (len < 0 || (size_t)len < mt->offset)

Legend:
Removed from v.1.163  
changed lines
  Added in v.1.164

CVSweb