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

Diff for /mandoc/mandoc.c between version 1.100 and 1.103

version 1.100, 2017/06/02 19:21:23 version 1.103, 2017/07/03 13:40:19
Line 28 
Line 28 
 #include <string.h>  #include <string.h>
 #include <time.h>  #include <time.h>
   
 #include "mandoc.h"  
 #include "mandoc_aux.h"  #include "mandoc_aux.h"
   #include "mandoc.h"
   #include "roff.h"
 #include "libmandoc.h"  #include "libmandoc.h"
   
 static  int      a2time(time_t *, const char *, const char *);  static  int      a2time(time_t *, const char *, const char *);
Line 95  mandoc_escape(const char **end, const char **start, in
Line 96  mandoc_escape(const char **end, const char **start, in
         case ',':          case ',':
         case '/':          case '/':
                 return ESCAPE_IGNORE;                  return ESCAPE_IGNORE;
           case 'p':
                   return ESCAPE_BREAK;
   
         /*          /*
          * The \z escape is supposed to output the following           * The \z escape is supposed to output the following
Line 518  fail:
Line 521  fail:
 }  }
   
 char *  char *
 mandoc_normdate(struct mparse *parse, char *in, int ln, int pos)  mandoc_normdate(struct roff_man *man, char *in, int ln, int pos)
 {  {
           char            *cp;
         time_t           t;          time_t           t;
   
         /* No date specified: use today's date. */          /* No date specified: use today's date. */
   
         if (in == NULL || *in == '\0' || strcmp(in, "$" "Mdocdate$") == 0) {          if (in == NULL || *in == '\0' || strcmp(in, "$" "Mdocdate$") == 0) {
                 mandoc_msg(MANDOCERR_DATE_MISSING, parse, ln, pos, NULL);                  mandoc_msg(MANDOCERR_DATE_MISSING, man->parse, ln, pos, NULL);
                 return time2a(time(NULL));                  return time2a(time(NULL));
         }          }
   
         /* Valid mdoc(7) date format. */          /* Valid mdoc(7) date format. */
   
         if (a2time(&t, "$" "Mdocdate: %b %d %Y $", in) ||          if (a2time(&t, "$" "Mdocdate: %b %d %Y $", in) ||
             a2time(&t, "%b %d, %Y", in))              a2time(&t, "%b %d, %Y", in)) {
                 return time2a(t);                  cp = time2a(t);
                   if (t > time(NULL) + 86400)
                           mandoc_msg(MANDOCERR_DATE_FUTURE, man->parse,
                               ln, pos, cp);
                   return cp;
           }
   
         /* Do not warn about the legacy man(7) format. */          /* In man(7), do not warn about the legacy format. */
   
         if ( ! a2time(&t, "%Y-%m-%d", in))          if (a2time(&t, "%Y-%m-%d", in) == 0)
                 mandoc_msg(MANDOCERR_DATE_BAD, parse, ln, pos, in);                  mandoc_msg(MANDOCERR_DATE_BAD, man->parse, ln, pos, in);
           else if (t > time(NULL) + 86400)
                   mandoc_msg(MANDOCERR_DATE_FUTURE, man->parse, ln, pos, in);
           else if (man->macroset == MACROSET_MDOC)
                   mandoc_vmsg(MANDOCERR_DATE_LEGACY, man->parse,
                       ln, pos, "Dd %s", in);
   
         /* Use any non-mdoc(7) date verbatim. */          /* Use any non-mdoc(7) date verbatim. */
   

Legend:
Removed from v.1.100  
changed lines
  Added in v.1.103

CVSweb