diff options
| author | Marc G. Fournier <scrappy@hub.org> | 1997-01-26 15:32:28 +0000 |
|---|---|---|
| committer | Marc G. Fournier <scrappy@hub.org> | 1997-01-26 15:32:28 +0000 |
| commit | 632c44d8290c0e3561b1c1851d4443868034a705 (patch) | |
| tree | 4879c978ed1db82a57cc82c1aa5c91bfa5307662 /src/backend/utils/adt/datetimes.c | |
| parent | ac3c926c4259690ed0c4cfab21db4c4b7ef05c11 (diff) | |
| download | postgresql-632c44d8290c0e3561b1c1851d4443868034a705.tar.gz | |
Bring in a patch from Keith Parks to move the use of European dates
from a #define to a run-time option '-e'
Man page was updated to reflect new option
Diffstat (limited to 'src/backend/utils/adt/datetimes.c')
| -rw-r--r-- | src/backend/utils/adt/datetimes.c | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/src/backend/utils/adt/datetimes.c b/src/backend/utils/adt/datetimes.c index 693351a380..614bccd72d 100644 --- a/src/backend/utils/adt/datetimes.c +++ b/src/backend/utils/adt/datetimes.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/datetimes.c,v 1.7 1996/11/14 21:38:58 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/datetimes.c,v 1.8 1997/01/26 15:31:12 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -15,6 +15,7 @@ #include <string.h> #include <postgres.h> +#include <miscadmin.h> #include <utils/builtins.h> #include <utils/datetime.h> @@ -50,19 +51,19 @@ date_in(char *datestr) # define CHECK_DATE_LEN(datestr) 1 #endif -#ifndef EUROPEAN_DATES - if (!CHECK_DATE_LEN(datestr) || - sscanf(datestr, "%d%*c%d%*c%d", &m, &d, &y) != 3) { - elog(WARN, "date_in: date \"%s\" not of the form mm-dd-yyyy", - datestr); - } -#else - if (!CHECK_DATE_LEN(datestr) || - sscanf(datestr, "%d%*c%d%*c%d", &d, &m, &y) != 3) { - elog(WARN, "date_in: date \"%s\" not of the form dd-mm-yyyy", - datestr); + if (EuroDates == 1) { /* Expect european format dates */ + if (!CHECK_DATE_LEN(datestr) || + sscanf(datestr, "%d%*c%d%*c%d", &d, &m, &y) != 3) { + elog(WARN, "date_in: date \"%s\" not of the form dd-mm-yyyy", + datestr); + } + } else { + if (!CHECK_DATE_LEN(datestr) || + sscanf(datestr, "%d%*c%d%*c%d", &m, &d, &y) != 3) { + elog(WARN, "date_in: date \"%s\" not of the form mm-dd-yyyy", + datestr); + } } -#endif if (y < 0 || y > 32767) elog(WARN, "date_in: year must be limited to values 0 through 32767 in \"%s\"", datestr); if (m < 1 || m > 12) @@ -94,13 +95,12 @@ date_out(int4 dateVal) date = (DateADT*)&dateStore; dateStore = dateVal; -#ifndef EUROPEAN_DATES - sprintf(datestr, "%02d-%02d-%04d", - (int)date->month, (int)date->day, (int)date->year); -#else - sprintf(datestr, "%02d-%02d-%04d", - (int)date->day, (int)date->month, (int)date->year); -#endif + if (EuroDates == 1) /* Output european format dates */ + sprintf(datestr, "%02d-%02d-%04d", + (int)date->day, (int)date->month, (int)date->year); + else + sprintf(datestr, "%02d-%02d-%04d", + (int)date->month, (int)date->day, (int)date->year); return datestr; } |
