]> granicus.if.org Git - postgresql/commitdiff
Add const qualifier to tzn returned by timestamp2tm()
authorPeter Eisentraut <peter_e@gmx.net>
Thu, 15 Mar 2012 19:17:19 +0000 (21:17 +0200)
committerPeter Eisentraut <peter_e@gmx.net>
Thu, 15 Mar 2012 19:17:19 +0000 (21:17 +0200)
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.

src/backend/utils/adt/datetime.c
src/backend/utils/adt/formatting.c
src/backend/utils/adt/timestamp.c
src/backend/utils/adt/xml.c
src/include/utils/timestamp.h
src/interfaces/ecpg/pgtypeslib/timestamp.c

index 56515f15b9d4248d03cab7f4b394bb0074d34810..9ceb269b3fcd155781ff1a56a51dc025a0e8e12b 100644 (file)
@@ -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;
 
index c5e25d942ec4ffd6d5dd6c893e45a5d941cf5199..8ff87d6a0e8f7a376c85084bf359a136eb302508 100644 (file)
@@ -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)
index b3cf1b16a5ec9fe91a07194c7133de0f7df4ba08..88ff57dd38a7f1c1ad00f4a75f512ffe2afd37a4 100644 (file)
@@ -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
        {
index b042e6b36b16c325afe223eaedcd9ab3b9fa5a83..c51a9f76cede07354fb67c3bc320deb49c7dba84 100644 (file)
@@ -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);
index 2eae95efac1d1c9bcf249cb7c24389a1a0c2e63b..56699247668e62fa1fd92946428044aa15b3b32f 100644 (file)
@@ -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);
index b0e99766f5bc1f7604ed0118078eb7932a3247d0..1eaf715c47385af5c0c19e0efe1e1e3f26c61e34 100644 (file)
@@ -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)