From dadce6509a17d510c62414e033e2491ed50a9fcb Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Wed, 5 May 2004 17:28:46 +0000
Subject: [PATCH] Don't assume that struct timeval's tv_sec field is the same
 datatype as time_t; on some platforms they are not the same width.  Per
 Manfred Koizar.

---
 src/backend/utils/adt/nabstime.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/utils/adt/nabstime.c b/src/backend/utils/adt/nabstime.c
index e9109938adb..20fc55309c1 100644
--- a/src/backend/utils/adt/nabstime.c
+++ b/src/backend/utils/adt/nabstime.c
@@ -10,7 +10,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/utils/adt/nabstime.c,v 1.119 2004/03/22 15:34:22 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/backend/utils/adt/nabstime.c,v 1.120 2004/05/05 17:28:46 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -191,9 +191,9 @@ abstime2tm(AbsoluteTime _time, int *tzp, struct tm * tm, char **tzn)
 		time -= CTimeZone;
 
 	if ((!HasCTZSet) && (tzp != NULL))
-		tx = localtime((time_t *) &time);
+		tx = localtime(&time);
 	else
-		tx = gmtime((time_t *) &time);
+		tx = gmtime(&time);
 
 	tm->tm_year = tx->tm_year + 1900;
 	tm->tm_mon = tx->tm_mon + 1;
@@ -1728,10 +1728,12 @@ timeofday(PG_FUNCTION_ARGS)
 	char		buf[128];
 	text	   *result;
 	int			len;
+	time_t		tt;
 
 	gettimeofday(&tp, &tpz);
+	tt = (time_t) tp.tv_sec;
 	strftime(templ, sizeof(templ), "%a %b %d %H:%M:%S.%%06d %Y %Z",
-			 localtime((time_t *) &tp.tv_sec));
+			 localtime(&tt));
 	snprintf(buf, sizeof(buf), templ, tp.tv_usec);
 
 	len = VARHDRSZ + strlen(buf);
-- 
GitLab