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

Diff for /src/usr.bin/mandoc/mdoc_term.c between version 1.33 and 1.34

version 1.33, 2009/07/18 20:50:38 version 1.34, 2009/07/18 21:16:49
Line 513 
Line 513 
 static size_t  static size_t
 arg_width(const struct mdoc_argv *arg, int pos)  arg_width(const struct mdoc_argv *arg, int pos)
 {  {
         size_t           v;  
         int              i, len;          int              i, len;
           const char      *p;
   
         assert(pos < (int)arg->sz && pos >= 0);          assert(pos < (int)arg->sz && pos >= 0);
         assert(arg->value[pos]);          assert(arg->value[pos]);
   
         if (0 == (len = (int)strlen(arg->value[pos])))          p = arg->value[pos];
   
           if (0 == (len = (int)strlen(p)))
                 return(0);                  return(0);
   
         for (i = 0; i < len - 1; i++)          for (i = 0; i < len - 1; i++)
                 if ( ! isdigit((u_char)arg->value[pos][i]))                  if ( ! isdigit((u_char)p[i]))
                         break;                          break;
   
         if (i == len - 1) {          if (i == len - 1)
                 if ('n' == arg->value[pos][len - 1] ||                  if ('n' == p[len - 1] || 'm' == p[len - 1])
                                 'm' == arg->value[pos][len - 1]) {                          return((size_t)atoi(p) + 2);
                         v = (size_t)atoi(arg->value[pos]);  
                         return(v + 2);  
                 }  
   
         }          return((size_t)len + 2);
         return(strlen(arg->value[pos]) + 2);  
 }  }
   
   
Line 582 
Line 580 
 static size_t  static size_t
 arg_offset(const struct mdoc_argv *arg)  arg_offset(const struct mdoc_argv *arg)
 {  {
           int              len, i;
           const char      *p;
   
         assert(*arg->value);          assert(*arg->value);
         if (0 == strcmp(*arg->value, "left"))          p = *arg->value;
   
           if (0 == strcmp(p, "left"))
                 return(0);                  return(0);
         if (0 == strcmp(*arg->value, "indent"))          if (0 == strcmp(p, "indent"))
                 return(INDENT + 1);                  return(INDENT + 1);
         if (0 == strcmp(*arg->value, "indent-two"))          if (0 == strcmp(p, "indent-two"))
                 return((INDENT + 1) * 2);                  return((INDENT + 1) * 2);
   
         /* FIXME: needs to support field-widths (10n, etc.). */          if (0 == (len = (int)strlen(p)))
                   return(0);
   
         return(strlen(*arg->value));          for (i = 0; i < len - 1; i++)
                   if ( ! isdigit((u_char)p[i]))
                           break;
   
           if (i == len - 1)
                   if ('n' == p[len - 1] || 'm' == p[len - 1])
                           return((size_t)atoi(p));
   
           return((size_t)len);
 }  }
   
   

Legend:
Removed from v.1.33  
changed lines
  Added in v.1.34