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

Diff for /mandoc/mandoc.c between version 1.113 and 1.116

version 1.113, 2018/12/18 22:00:02 version 1.116, 2019/06/27 15:07:30
Line 32 
Line 32 
 #include "mandoc.h"  #include "mandoc.h"
 #include "roff.h"  #include "roff.h"
 #include "libmandoc.h"  #include "libmandoc.h"
   #include "roff_int.h"
   
 static  int      a2time(time_t *, const char *, const char *);  static  int      a2time(time_t *, const char *, const char *);
 static  char    *time2a(time_t);  static  char    *time2a(time_t);
Line 493  time2a(time_t t)
Line 494  time2a(time_t t)
         size_t           ssz;          size_t           ssz;
         int              isz;          int              isz;
   
           buf = NULL;
         tm = localtime(&t);          tm = localtime(&t);
         if (tm == NULL)          if (tm == NULL)
                 return NULL;                  goto fail;
   
         /*          /*
          * Reserve space:           * Reserve space:
Line 519  time2a(time_t t)
Line 521  time2a(time_t t)
          * of looking at LC_TIME.           * of looking at LC_TIME.
          */           */
   
         if ((isz = snprintf(p, 4 + 1, "%d, ", tm->tm_mday)) == -1)          isz = snprintf(p, 4 + 1, "%d, ", tm->tm_mday);
           if (isz < 0 || isz > 4)
                 goto fail;                  goto fail;
         p += isz;          p += isz;
   
Line 529  time2a(time_t t)
Line 532  time2a(time_t t)
   
 fail:  fail:
         free(buf);          free(buf);
         return NULL;          return mandoc_strdup("");
 }  }
   
 char *  char *
Line 538  mandoc_normdate(struct roff_man *man, char *in, int ln
Line 541  mandoc_normdate(struct roff_man *man, char *in, int ln
         char            *cp;          char            *cp;
         time_t           t;          time_t           t;
   
           if (man->quick)
                   return mandoc_strdup(in == NULL ? "" : in);
   
         /* 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')
                 mandoc_msg(MANDOCERR_DATE_MISSING, ln, pos, NULL);                  mandoc_msg(MANDOCERR_DATE_MISSING, ln, pos, NULL);
           if (in == NULL || *in == '\0' || strcmp(in, "$" "Mdocdate$") == 0)
                 return time2a(time(NULL));                  return time2a(time(NULL));
         }  
   
         /* Valid mdoc(7) date format. */          /* Valid mdoc(7) date format. */
   
Line 563  mandoc_normdate(struct roff_man *man, char *in, int ln
Line 569  mandoc_normdate(struct roff_man *man, char *in, int ln
                 mandoc_msg(MANDOCERR_DATE_BAD, ln, pos, "%s", in);                  mandoc_msg(MANDOCERR_DATE_BAD, ln, pos, "%s", in);
         else if (t > time(NULL) + 86400)          else if (t > time(NULL) + 86400)
                 mandoc_msg(MANDOCERR_DATE_FUTURE, ln, pos, "%s", in);                  mandoc_msg(MANDOCERR_DATE_FUTURE, ln, pos, "%s", in);
         else if (man->macroset == MACROSET_MDOC)          else if (man->meta.macroset == MACROSET_MDOC)
                 mandoc_msg(MANDOCERR_DATE_LEGACY, ln, pos, "Dd %s", in);                  mandoc_msg(MANDOCERR_DATE_LEGACY, ln, pos, "Dd %s", in);
   
         /* Use any non-mdoc(7) date verbatim. */          /* Use any non-mdoc(7) date verbatim. */

Legend:
Removed from v.1.113  
changed lines
  Added in v.1.116

CVSweb