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

Diff for /mandoc/Attic/mdocterm.c between version 1.35 and 1.36

version 1.35, 2009/03/08 13:52:29 version 1.36, 2009/03/08 18:02:36
Line 681  pescape(struct termp *p, const char *word, size_t *i, 
Line 681  pescape(struct termp *p, const char *word, size_t *i, 
 {  {
         size_t           j;          size_t           j;
   
         (*i)++;          if (++(*i) >= len) {
         assert(*i < len);                  warnx("ignoring bad escape sequence");
                   return;
           }
   
         if ('(' == word[*i]) {          if ('(' == word[*i]) {
                 (*i)++;                  (*i)++;
                 assert(*i + 1 < len);                  if (*i + 1 >= len) {
                           warnx("ignoring bad escape sequence");
                           return;
                   }
                 nescape(p, &word[*i], 2);                  nescape(p, &word[*i], 2);
                 (*i)++;                  (*i)++;
                 return;                  return;
   
         } else if ('*' == word[*i]) {          } else if ('*' == word[*i]) {
                 /* XXX - deprecated! */  
                 (*i)++;                  (*i)++;
                 assert(*i < len);                  if (*i >= len) {
                           warnx("ignoring bad escape sequence");
                           return;
                   }
                 switch (word[*i]) {                  switch (word[*i]) {
                 case ('('):                  case ('('):
                         (*i)++;                          (*i)++;
                         assert(*i + 1 < len);                          if (*i + 1 >= len) {
                                   warnx("ignoring bad escape sequence");
                                   return;
                           }
                         nescape(p, &word[*i], 2);                          nescape(p, &word[*i], 2);
                         (*i)++;                          (*i)++;
                         return;                          return;
Line 718  pescape(struct termp *p, const char *word, size_t *i, 
Line 728  pescape(struct termp *p, const char *word, size_t *i, 
         for (j = 0; word[*i] && ']' != word[*i]; (*i)++, j++)          for (j = 0; word[*i] && ']' != word[*i]; (*i)++, j++)
                 /* Loop... */ ;                  /* Loop... */ ;
   
         assert(word[*i]);          if (0 == word[*i]) {
                   warnx("ignoring bad escape sequence");
                   return;
           }
         nescape(p, &word[*i - j], j);          nescape(p, &word[*i - j], j);
 }  }
   

Legend:
Removed from v.1.35  
changed lines
  Added in v.1.36

CVSweb