mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-03 08:00:21 +08:00
Add const qualifier to tzn returned by timestamp2tm()
The tzn value might come from tm->tm_zone, which libc declares as const, so it's prudent that the upper layers know about this as well.
This commit is contained in:
parent
531e60aec0
commit
eb990a2b9e
@ -4337,7 +4337,7 @@ pg_timezone_names(PG_FUNCTION_ARGS)
|
||||
int tzoff;
|
||||
struct pg_tm tm;
|
||||
fsec_t fsec;
|
||||
char *tzn;
|
||||
const char *tzn;
|
||||
Interval *resInterval;
|
||||
struct pg_tm itm;
|
||||
|
||||
|
@ -459,7 +459,7 @@ typedef struct TmToChar
|
||||
{
|
||||
struct pg_tm tm; /* classic 'tm' struct */
|
||||
fsec_t fsec; /* fractional seconds */
|
||||
char *tzn; /* timezone */
|
||||
const char *tzn; /* timezone */
|
||||
} TmToChar;
|
||||
|
||||
#define tmtcTm(_X) (&(_X)->tm)
|
||||
|
@ -494,7 +494,7 @@ timestamptz_out(PG_FUNCTION_ARGS)
|
||||
struct pg_tm tt,
|
||||
*tm = &tt;
|
||||
fsec_t fsec;
|
||||
char *tzn;
|
||||
const char *tzn;
|
||||
char buf[MAXDATELEN + 1];
|
||||
|
||||
if (TIMESTAMP_NOT_FINITE(dt))
|
||||
@ -1415,7 +1415,7 @@ timestamptz_to_str(TimestampTz t)
|
||||
struct pg_tm tt,
|
||||
*tm = &tt;
|
||||
fsec_t fsec;
|
||||
char *tzn;
|
||||
const char *tzn;
|
||||
|
||||
if (TIMESTAMP_NOT_FINITE(t))
|
||||
EncodeSpecialTimestamp(t, buf);
|
||||
@ -1466,7 +1466,7 @@ dt2time(Timestamp jd, int *hour, int *min, int *sec, fsec_t *fsec)
|
||||
* timezone) will be used.
|
||||
*/
|
||||
int
|
||||
timestamp2tm(Timestamp dt, int *tzp, struct pg_tm * tm, fsec_t *fsec, char **tzn, pg_tz *attimezone)
|
||||
timestamp2tm(Timestamp dt, int *tzp, struct pg_tm * tm, fsec_t *fsec, const char **tzn, pg_tz *attimezone)
|
||||
{
|
||||
Timestamp date;
|
||||
Timestamp time;
|
||||
@ -1602,7 +1602,7 @@ recalc_t:
|
||||
tm->tm_zone = tx->tm_zone;
|
||||
*tzp = -tm->tm_gmtoff;
|
||||
if (tzn != NULL)
|
||||
*tzn = (char *) tm->tm_zone;
|
||||
*tzn = tm->tm_zone;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -2013,7 +2013,7 @@ map_sql_value_to_xml_value(Datum value, Oid type, bool xml_escape_strings)
|
||||
struct pg_tm tm;
|
||||
int tz;
|
||||
fsec_t fsec;
|
||||
char *tzn = NULL;
|
||||
const char *tzn = NULL;
|
||||
char buf[MAXDATELEN + 1];
|
||||
|
||||
timestamp = DatumGetTimestamp(value);
|
||||
|
@ -222,7 +222,7 @@ extern const char *timestamptz_to_str(TimestampTz t);
|
||||
|
||||
extern int tm2timestamp(struct pg_tm * tm, fsec_t fsec, int *tzp, Timestamp *dt);
|
||||
extern int timestamp2tm(Timestamp dt, int *tzp, struct pg_tm * tm,
|
||||
fsec_t *fsec, char **tzn, pg_tz *attimezone);
|
||||
fsec_t *fsec, const char **tzn, pg_tz *attimezone);
|
||||
extern void dt2time(Timestamp dt, int *hour, int *min, int *sec, fsec_t *fsec);
|
||||
|
||||
extern int interval2tm(Interval span, struct pg_tm * tm, fsec_t *fsec);
|
||||
|
@ -119,7 +119,7 @@ SetEpochTimestamp(void)
|
||||
* local time zone. If out of this range, leave as GMT. - tgl 97/05/27
|
||||
*/
|
||||
static int
|
||||
timestamp2tm(timestamp dt, int *tzp, struct tm * tm, fsec_t *fsec, char **tzn)
|
||||
timestamp2tm(timestamp dt, int *tzp, struct tm * tm, fsec_t *fsec, const char **tzn)
|
||||
{
|
||||
#ifdef HAVE_INT64_TIMESTAMP
|
||||
int64 dDate,
|
||||
@ -224,7 +224,7 @@ recalc_t:
|
||||
|
||||
*tzp = -tm->tm_gmtoff; /* tm_gmtoff is Sun/DEC-ism */
|
||||
if (tzn != NULL)
|
||||
*tzn = (char *) tm->tm_zone;
|
||||
*tzn = tm->tm_zone;
|
||||
#elif defined(HAVE_INT_TIMEZONE)
|
||||
*tzp = (tm->tm_isdst > 0) ? TIMEZONE_GLOBAL - SECS_PER_HOUR : TIMEZONE_GLOBAL;
|
||||
if (tzn != NULL)
|
||||
|
Loading…
Reference in New Issue
Block a user