diff options
Diffstat (limited to 'src/interfaces')
-rw-r--r-- | src/interfaces/ecpg/pgtypeslib/dt.h | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/interfaces/ecpg/pgtypeslib/dt.h b/src/interfaces/ecpg/pgtypeslib/dt.h index 185f0b0c948..a4d6f044a91 100644 --- a/src/interfaces/ecpg/pgtypeslib/dt.h +++ b/src/interfaces/ecpg/pgtypeslib/dt.h @@ -232,17 +232,21 @@ extern int day_tab[2][13]; #define isleap(y) (((y) % 4) == 0 && (((y) % 100) != 0 || ((y) % 400) == 0)) /* Julian date support for date2j() and j2date() - * Set the minimum year to one greater than the year of the first valid day - * to avoid having to check year and day both. - tgl 97/05/08 + * + * IS_VALID_JULIAN checks the minimum date exactly, but is a bit sloppy + * about the maximum, since it's far enough out to not be especially + * interesting. */ #define JULIAN_MINYEAR (-4713) #define JULIAN_MINMONTH (11) #define JULIAN_MINDAY (24) +#define JULIAN_MAXYEAR (5874898) -#define IS_VALID_JULIAN(y,m,d) (((y) > JULIAN_MINYEAR) \ - || (((y) == JULIAN_MINYEAR) && (((m) > JULIAN_MINMONTH) \ - || (((m) == JULIAN_MINMONTH) && ((d) >= JULIAN_MINDAY))))) +#define IS_VALID_JULIAN(y,m,d) ((((y) > JULIAN_MINYEAR) \ + || (((y) == JULIAN_MINYEAR) && (((m) > JULIAN_MINMONTH) \ + || (((m) == JULIAN_MINMONTH) && ((d) >= JULIAN_MINDAY))))) \ + && ((y) < JULIAN_MAXYEAR)) #define UTIME_MINYEAR (1901) #define UTIME_MINMONTH (12) |