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

Diff for /mandoc/out.c between version 1.23 and 1.27

version 1.23, 2010/07/22 23:03:15 version 1.27, 2010/08/24 13:39:37
Line 172  a2roffdeco(enum roffdeco *d, const char **word, size_t
Line 172  a2roffdeco(enum roffdeco *d, const char **word, size_t
         int              i, j, lim;          int              i, j, lim;
         char             term, c;          char             term, c;
         const char      *wp;          const char      *wp;
           enum roffdeco    dd;
   
         *d = DECO_NONE;          *d = DECO_NONE;
         lim = i = 0;          lim = i = 0;
Line 219  a2roffdeco(enum roffdeco *d, const char **word, size_t
Line 220  a2roffdeco(enum roffdeco *d, const char **word, size_t
                         break;                          break;
                 }                  }
                 break;                  break;
           case ('k'):
                   /* FALLTHROUGH */
         case ('M'):          case ('M'):
                 /* FALLTHROUGH */                  /* FALLTHROUGH */
         case ('m'):          case ('m'):
Line 240  a2roffdeco(enum roffdeco *d, const char **word, size_t
Line 243  a2roffdeco(enum roffdeco *d, const char **word, size_t
                         break;                          break;
                 }                  }
                 break;                  break;
           case ('h'):
                   /* FALLTHROUGH */
           case ('v'):
                   /* FALLTHROUGH */
         case ('s'):          case ('s'):
                 if ('+' == wp[i] || '-' == wp[i])                  j = 0;
                   if ('+' == wp[i] || '-' == wp[i]) {
                         i++;                          i++;
                           j = 1;
                   }
   
                 j = ('s' != wp[i - 1]);  
   
                 switch (wp[i++]) {                  switch (wp[i++]) {
                 case ('('):                  case ('('):
                         lim = 2;                          lim = 2;
Line 257  a2roffdeco(enum roffdeco *d, const char **word, size_t
Line 265  a2roffdeco(enum roffdeco *d, const char **word, size_t
                         term = '\'';                          term = '\'';
                         break;                          break;
                 case ('0'):                  case ('0'):
                         j++;                          j = 1;
                         /* FALLTHROUGH */                          /* FALLTHROUGH */
                 default:                  default:
                         i--;                          i--;
Line 266  a2roffdeco(enum roffdeco *d, const char **word, size_t
Line 274  a2roffdeco(enum roffdeco *d, const char **word, size_t
                 }                  }
   
                 if ('+' == wp[i] || '-' == wp[i]) {                  if ('+' == wp[i] || '-' == wp[i]) {
                         if (j++)                          if (j)
                                 return(i);                                  return(i);
                         i++;                          i++;
                 }                  }
   
                 if (0 == j)  
                         return(i);  
                 break;                  break;
         case ('['):          case ('['):
                 *d = DECO_SPECIAL;                  *d = DECO_SPECIAL;
Line 281  a2roffdeco(enum roffdeco *d, const char **word, size_t
Line 287  a2roffdeco(enum roffdeco *d, const char **word, size_t
         case ('c'):          case ('c'):
                 *d = DECO_NOSPACE;                  *d = DECO_NOSPACE;
                 return(i);                  return(i);
           case ('z'):
                   *d = DECO_NONE;
                   if ('\\' == wp[i]) {
                           *word = &wp[++i];
                           return(i + a2roffdeco(&dd, word, sz));
                   } else
                           lim = 1;
                   break;
           case ('w'):
                   if ('\'' == wp[i++]) {
                           term = '\'';
                           break;
                   }
                   /* FALLTHROUGH */
         default:          default:
                 *d = DECO_SSPECIAL;                  *d = DECO_SSPECIAL;
                 i--;                  i--;

Legend:
Removed from v.1.23  
changed lines
  Added in v.1.27

CVSweb