From 1e790e207ff45359b95f564e139e64c36d5c56b8 Mon Sep 17 00:00:00 2001
From: "Thomas G. Lockhart" <lockhart@fourpalms.org>
Date: Tue, 13 May 1997 04:26:07 +0000
Subject: [PATCH] Fix return value for tm2datetime to properly indicate
 failure.

---
 src/backend/utils/adt/dt.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/backend/utils/adt/dt.c b/src/backend/utils/adt/dt.c
index de0ec568544..ac9899fdba9 100644
--- a/src/backend/utils/adt/dt.c
+++ b/src/backend/utils/adt/dt.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/dt.c,v 1.20 1997/05/11 15:11:34 thomas Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/dt.c,v 1.21 1997/05/13 04:26:07 thomas Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -700,7 +700,9 @@ printf( "datetime_add_span- date was %d.%02d.%02d\n", tm->tm_year, tm->tm_mon, t
 #ifdef DATEDEBUG
 printf( "datetime_add_span- date becomes %d.%02d.%02d\n", tm->tm_year, tm->tm_mon, tm->tm_mday);
 #endif
-		tm2datetime( tm, fsec, NULL, result);
+		if (tm2datetime( tm, fsec, NULL, result) != 0)
+		    elog(WARN,"Unable to add datetime and timespan",NULL);
+
 
 	    } else {
 		DATETIME_INVALID(*result);
@@ -1673,7 +1675,7 @@ tm2datetime( struct tm *tm, double fsec, int *tzp, DateTime *result) {
 
     /* Julian day routines are not correct for negative Julian days */
     if (! IS_VALID_JULIAN( tm->tm_year, tm->tm_mon, tm->tm_mday))
-	return(DT_INVALID);
+	return(-1);
 
     date = date2j(tm->tm_year,tm->tm_mon,tm->tm_mday) - date2j(2000,1,1);
     time = time2t(tm->tm_hour,tm->tm_min,(tm->tm_sec + fsec));
-- 
GitLab