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

Diff for /mandoc/man_validate.c between version 1.71 and 1.72

version 1.71, 2011/07/24 18:15:14 version 1.72, 2011/07/26 14:09:01
Line 207  check_root(CHKARGS) 
Line 207  check_root(CHKARGS) 
 }  }
   
 static void  static void
 check_text(CHKARGS)  check_text(CHKARGS)
 {  {
         char            *p, *pp, *cpp;          char            *cp, *p;
         int              pos;  
         size_t           sz;  
   
         p = n->string;          cp = p = n->string;
         pos = n->pos + 1;          for (cp = p; NULL != (p = strchr(p, '\t')); p++) {
                   if (MAN_LITERAL & m->flags)
         while ('\0' != *p) {  
                 sz = strcspn(p, "\t\\");  
   
                 p += (int)sz;  
                 pos += (int)sz;  
   
                 if ('\t' == *p) {  
                         if ( ! (MAN_LITERAL & m->flags))  
                                 man_pmsg(m, n->line, pos, MANDOCERR_BADTAB);  
                         p++;  
                         pos++;  
                         continue;                          continue;
                 } else if ('\0' == *p)                  man_pmsg(m, n->line, (int)(p - cp), MANDOCERR_BADTAB);
                         break;  
   
                 pos++;  
                 pp = ++p;  
   
                 if (ESCAPE_ERROR == mandoc_escape  
                                 ((const char **)&pp, NULL, NULL)) {  
                         man_pmsg(m, n->line, pos, MANDOCERR_BADESCAPE);  
                         break;  
                 }  
   
                 cpp = p;  
                 while (NULL != (cpp = memchr(cpp, ASCII_HYPH, pp - cpp)))  
                         *cpp = '-';  
   
                 pos += pp - p;  
                 p = pp;  
         }          }
 }  }
   

Legend:
Removed from v.1.71  
changed lines
  Added in v.1.72

CVSweb