There are two ancient hacks in the cygwin and solaris ports that appear to have been solved more than 10 years ago, so I think we can remove them. See attached patches.

--
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From 6322cb1d9579ab8e2fd66139aa6a0f342925b7f0 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <pe...@eisentraut.org>
Date: Wed, 12 Aug 2020 09:09:02 +0200
Subject: [PATCH 1/2] Remove obsolete HAVE_BUGGY_SOLARIS_STRTOD

Fixed more than 10 years ago.
---
 src/backend/utils/adt/float.c | 24 ------------------------
 src/include/port/solaris.h    | 12 ------------
 2 files changed, 36 deletions(-)

diff --git a/src/backend/utils/adt/float.c b/src/backend/utils/adt/float.c
index ffd1ce8c76..429c9280c0 100644
--- a/src/backend/utils/adt/float.c
+++ b/src/backend/utils/adt/float.c
@@ -271,18 +271,6 @@ float4in(PG_FUNCTION_ARGS)
                                         errmsg("invalid input syntax for type 
%s: \"%s\"",
                                                        "real", orig_num)));
        }
-#ifdef HAVE_BUGGY_SOLARIS_STRTOD
-       else
-       {
-               /*
-                * Many versions of Solaris have a bug wherein strtod sets 
endptr to
-                * point one byte beyond the end of the string when given "inf" 
or
-                * "infinity".
-                */
-               if (endptr != num && endptr[-1] == '\0')
-                       endptr--;
-       }
-#endif                                                 /* 
HAVE_BUGGY_SOLARIS_STRTOD */
 
        /* skip trailing whitespace */
        while (*endptr != '\0' && isspace((unsigned char) *endptr))
@@ -499,18 +487,6 @@ float8in_internal_opt_error(char *num, char **endptr_p,
                                                                                
 type_name, orig_string))),
                                                 have_error);
        }
-#ifdef HAVE_BUGGY_SOLARIS_STRTOD
-       else
-       {
-               /*
-                * Many versions of Solaris have a bug wherein strtod sets 
endptr to
-                * point one byte beyond the end of the string when given "inf" 
or
-                * "infinity".
-                */
-               if (endptr != num && endptr[-1] == '\0')
-                       endptr--;
-       }
-#endif                                                 /* 
HAVE_BUGGY_SOLARIS_STRTOD */
 
        /* skip trailing whitespace */
        while (*endptr != '\0' && isspace((unsigned char) *endptr))
diff --git a/src/include/port/solaris.h b/src/include/port/solaris.h
index eeb1a320bd..e63a3bd824 100644
--- a/src/include/port/solaris.h
+++ b/src/include/port/solaris.h
@@ -24,15 +24,3 @@
 #if defined(__i386__)
 #include <sys/isa_defs.h>
 #endif
-
-/*
- * Many versions of Solaris have broken strtod() --- see bug #4751182.
- * This has been fixed in current versions of Solaris:
- *
- * 
http://sunsolve.sun.com/search/document.do?assetkey=1-21-108993-62-1&searchclause=108993-62
- * 
http://sunsolve.sun.com/search/document.do?assetkey=1-21-112874-34-1&searchclause=112874-34
- *
- * However, many people might not have patched versions, so
- * still use our own fix for the buggy version.
- */
-#define HAVE_BUGGY_SOLARIS_STRTOD
-- 
2.28.0

From 71a0e828454f2c473c65824cfdbf6a14640ffcf6 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <pe...@eisentraut.org>
Date: Wed, 12 Aug 2020 09:09:02 +0200
Subject: [PATCH 2/2] Remove obsolete cygwin.h hack

The version being checked for is 20 years old.
---
 src/include/port/cygwin.h | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/src/include/port/cygwin.h b/src/include/port/cygwin.h
index f1fc1a93d7..64d69936e5 100644
--- a/src/include/port/cygwin.h
+++ b/src/include/port/cygwin.h
@@ -1,14 +1,5 @@
 /* src/include/port/cygwin.h */
 
-#include <cygwin/version.h>
-
-/*
- * Check for b20.1 and disable AF_UNIX family socket support.
- */
-#if CYGWIN_VERSION_DLL_MAJOR < 1001
-#undef HAVE_UNIX_SOCKETS
-#endif
-
 #ifdef BUILDING_DLL
 #define PGDLLIMPORT __declspec (dllexport)
 #else
-- 
2.28.0

Reply via email to