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

Diff for /mandoc/mdoc_validate.c between version 1.171 and 1.172

version 1.171, 2011/07/24 18:15:14 version 1.172, 2011/07/26 14:09:01
Line 545  check_argv(struct mdoc *m, struct mdoc_node *n, struct
Line 545  check_argv(struct mdoc *m, struct mdoc_node *n, struct
 static void  static void
 check_text(struct mdoc *m, int ln, int pos, char *p)  check_text(struct mdoc *m, int ln, int pos, char *p)
 {  {
         char            *cpp, *pp;          char            *cp;
         size_t           sz;  
   
         while ('\0' != *p) {          cp = p;
                 sz = strcspn(p, "\t\\");          for (cp = p; NULL != (p = strchr(p, '\t')); p++) {
                   if (MDOC_LITERAL & m->flags)
                 p += (int)sz;  
                 pos += (int)sz;  
   
                 if ('\t' == *p) {  
                         if ( ! (MDOC_LITERAL & m->flags))  
                                 mdoc_pmsg(m, ln, pos, MANDOCERR_BADTAB);  
                         p++;  
                         pos++;  
                         continue;                          continue;
                 } else if ('\0' == *p)                  mdoc_pmsg(m, ln, (int)(p - cp), MANDOCERR_BADTAB);
                         break;  
   
                 pos++;  
                 pp = ++p;  
   
                 if (ESCAPE_ERROR == mandoc_escape  
                                 ((const char **)&pp, NULL, NULL)) {  
                         mdoc_pmsg(m, ln, 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.171  
changed lines
  Added in v.1.172

CVSweb