[BACK]Return to mdoc_validate.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / mandoc

Diff for /src/usr.bin/mandoc/mdoc_validate.c between version 1.88 and 1.89

version 1.88, 2011/02/06 17:33:21 version 1.89, 2011/03/07 01:35:33
Line 1 
Line 1 
 /*      $Id$ */  /*      $Id$ */
 /*  /*
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>   * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
    * Copyright (c) 2010, 2011 Ingo Schwarze <schwarze@openbsd.org>
  *   *
  * Permission to use, copy, modify, and distribute this software for any   * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above   * purpose with or without fee is hereby granted, provided that the above
Line 135 
Line 136 
 static  v_post   posts_bool[] = { ebool, NULL };  static  v_post   posts_bool[] = { ebool, NULL };
 static  v_post   posts_eoln[] = { post_eoln, NULL };  static  v_post   posts_eoln[] = { post_eoln, NULL };
 static  v_post   posts_defaults[] = { post_defaults, NULL };  static  v_post   posts_defaults[] = { post_defaults, NULL };
 static  v_post   posts_dd[] = { ewarn_ge1, post_dd, post_prol, NULL };  static  v_post   posts_dd[] = { post_dd, post_prol, NULL };
 static  v_post   posts_dl[] = { post_literal, bwarn_ge1, NULL };  static  v_post   posts_dl[] = { post_literal, bwarn_ge1, NULL };
 static  v_post   posts_dt[] = { post_dt, post_prol, NULL };  static  v_post   posts_dt[] = { post_dt, post_prol, NULL };
 static  v_post   posts_fo[] = { hwarn_eq1, bwarn_ge1, NULL };  static  v_post   posts_fo[] = { hwarn_eq1, bwarn_ge1, NULL };
Line 216 
Line 217 
         { NULL, posts_text },                   /* Xr */          { NULL, posts_text },                   /* Xr */
         { NULL, posts_text },                   /* %A */          { NULL, posts_text },                   /* %A */
         { NULL, posts_text },                   /* %B */ /* FIXME: can be used outside Rs/Re. */          { NULL, posts_text },                   /* %B */ /* FIXME: can be used outside Rs/Re. */
         { NULL, posts_text },                   /* %D */ /* FIXME: check date with mandoc_a2time(). */          { NULL, posts_text },                   /* %D */
         { NULL, posts_text },                   /* %I */          { NULL, posts_text },                   /* %I */
         { NULL, posts_text },                   /* %J */          { NULL, posts_text },                   /* %J */
         { NULL, posts_text },                   /* %N */          { NULL, posts_text },                   /* %N */
Line 910 
Line 911 
 pre_dt(PRE_ARGS)  pre_dt(PRE_ARGS)
 {  {
   
         if (0 == mdoc->meta.date || mdoc->meta.os)          if (NULL == mdoc->meta.date || mdoc->meta.os)
                 mdoc_nmsg(mdoc, n, MANDOCERR_PROLOGOOO);                  mdoc_nmsg(mdoc, n, MANDOCERR_PROLOGOOO);
   
         if (mdoc->meta.title)          if (mdoc->meta.title)
Line 923 
Line 924 
 pre_os(PRE_ARGS)  pre_os(PRE_ARGS)
 {  {
   
         if (NULL == mdoc->meta.title || 0 == mdoc->meta.date)          if (NULL == mdoc->meta.title || NULL == mdoc->meta.date)
                 mdoc_nmsg(mdoc, n, MANDOCERR_PROLOGOOO);                  mdoc_nmsg(mdoc, n, MANDOCERR_PROLOGOOO);
   
         if (mdoc->meta.os)          if (mdoc->meta.os)
Line 1962 
Line 1963 
         char              buf[DATESIZE];          char              buf[DATESIZE];
         struct mdoc_node *n;          struct mdoc_node *n;
   
         n = mdoc->last;          if (mdoc->meta.date)
                   free(mdoc->meta.date);
   
         if (NULL == n->child) {          n = mdoc->last;
                 mdoc->meta.date = time(NULL);          if (NULL == n->child || '\0' == n->child->string[0]) {
                   mdoc->meta.date = mandoc_normdate(NULL,
                       mdoc->msg, mdoc->data, n->line, n->pos);
                 return(1);                  return(1);
         }          }
   
         if ( ! concat(mdoc, buf, n->child, DATESIZE))          if ( ! concat(mdoc, buf, n->child, DATESIZE))
                 return(0);                  return(0);
   
         mdoc->meta.date = mandoc_a2time          mdoc->meta.date = mandoc_normdate(buf,
                 (MTIME_MDOCDATE | MTIME_CANONICAL, buf);              mdoc->msg, mdoc->data, n->line, n->pos);
   
         if (0 == mdoc->meta.date) {  
                 mdoc_nmsg(mdoc, n, MANDOCERR_BADDATE);  
                 mdoc->meta.date = time(NULL);  
         }  
   
         return(1);          return(1);
 }  }

Legend:
Removed from v.1.88  
changed lines
  Added in v.1.89