[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.164 and 1.169

version 1.164, 2011/03/20 16:02:05 version 1.169, 2011/04/30 10:18:24
Line 33 
Line 33 
 #include <string.h>  #include <string.h>
 #include <time.h>  #include <time.h>
   
   #include "mdoc.h"
 #include "mandoc.h"  #include "mandoc.h"
 #include "libmdoc.h"  #include "libmdoc.h"
 #include "libmandoc.h"  #include "libmandoc.h"
Line 154  static v_post  posts_notext[] = { ewarn_eq0, NULL };
Line 155  static v_post  posts_notext[] = { ewarn_eq0, NULL };
 static  v_post   posts_ns[] = { post_ns, NULL };  static  v_post   posts_ns[] = { post_ns, NULL };
 static  v_post   posts_os[] = { post_os, post_prol, NULL };  static  v_post   posts_os[] = { post_os, post_prol, NULL };
 static  v_post   posts_rs[] = { post_rs, NULL };  static  v_post   posts_rs[] = { post_rs, NULL };
 static  v_post   posts_sh[] = { post_ignpar, hwarn_ge1, bwarn_ge1, post_sh, NULL };  static  v_post   posts_sh[] = { post_ignpar, hwarn_ge1, post_sh, NULL };
 static  v_post   posts_sp[] = { ewarn_le1, NULL };  static  v_post   posts_sp[] = { ewarn_le1, NULL };
 static  v_post   posts_ss[] = { post_ignpar, hwarn_ge1, bwarn_ge1, NULL };  static  v_post   posts_ss[] = { post_ignpar, hwarn_ge1, NULL };
 static  v_post   posts_st[] = { post_st, NULL };  static  v_post   posts_st[] = { post_st, NULL };
 static  v_post   posts_std[] = { post_std, NULL };  static  v_post   posts_std[] = { post_std, NULL };
 static  v_post   posts_text[] = { ewarn_ge1, NULL };  static  v_post   posts_text[] = { ewarn_ge1, NULL };
Line 544  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)
 {  {
         int              c;          char            *cpp, *pp;
         size_t           sz;          size_t           sz;
   
         for ( ; *p; p++, pos++) {          while ('\0' != *p) {
                 sz = strcspn(p, "\t\\");                  sz = strcspn(p, "\t\\");
                 p += (int)sz;  
   
                 if ('\0' == *p)                  p += (int)sz;
                         break;  
   
                 pos += (int)sz;                  pos += (int)sz;
   
                 if ('\t' == *p) {                  if ('\t' == *p) {
                         if ( ! (MDOC_LITERAL & m->flags))                          if ( ! (MDOC_LITERAL & m->flags))
                                 mdoc_pmsg(m, ln, pos, MANDOCERR_BADTAB);                                  mdoc_pmsg(m, ln, pos, MANDOCERR_BADTAB);
                           p++;
                           pos++;
                         continue;                          continue;
                 }                  } else if ('\0' == *p)
                           break;
   
                 if (0 == (c = mandoc_special(p))) {                  pos++;
                   pp = ++p;
   
                   if (ESCAPE_ERROR == mandoc_escape
                                   ((const char **)&pp, NULL, NULL)) {
                         mdoc_pmsg(m, ln, pos, MANDOCERR_BADESCAPE);                          mdoc_pmsg(m, ln, pos, MANDOCERR_BADESCAPE);
                         continue;                          break;
                 }                  }
   
                 p += c - 1;                  cpp = p;
                 pos += c - 1;                  while (NULL != (cpp = memchr(cpp, ASCII_HYPH, pp - cpp)))
                           *cpp = '-';
   
                   pos += pp - p;
                   p = pp;
         }          }
 }  }
   
Line 1526  post_bl_head(POST_ARGS) 
Line 1535  post_bl_head(POST_ARGS) 
         assert(0 == np->args->argv[j].sz);          assert(0 == np->args->argv[j].sz);
   
         /*          /*
          * Accomodate for new-style groff column syntax.  Shuffle the           * Accommodate for new-style groff column syntax.  Shuffle the
          * child nodes, all of which must be TEXT, as arguments for the           * child nodes, all of which must be TEXT, as arguments for the
          * column field.  Then, delete the head children.           * column field.  Then, delete the head children.
          */           */
Line 2193  post_os(POST_ARGS)
Line 2202  post_os(POST_ARGS)
                         return(0);                          return(0);
                 }                  }
 #else /*!OSNAME */  #else /*!OSNAME */
                 if (uname(&utsname)) {                  if (-1 == uname(&utsname)) {
                         mdoc_nmsg(mdoc, n, MANDOCERR_UNAME);                          mdoc_nmsg(mdoc, n, MANDOCERR_UNAME);
                         mdoc->meta.os = mandoc_strdup("UNKNOWN");                          mdoc->meta.os = mandoc_strdup("UNKNOWN");
                         return(post_prol(mdoc));                          return(post_prol(mdoc));

Legend:
Removed from v.1.164  
changed lines
  Added in v.1.169

CVSweb