diff options
Diffstat (limited to 'src/interfaces/ecpg/ecpglib/data.c')
-rw-r--r-- | src/interfaces/ecpg/ecpglib/data.c | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/src/interfaces/ecpg/ecpglib/data.c b/src/interfaces/ecpg/ecpglib/data.c index fa562767585..d5d40f7b654 100644 --- a/src/interfaces/ecpg/ecpglib/data.c +++ b/src/interfaces/ecpg/ecpglib/data.c @@ -69,34 +69,23 @@ garbage_left(enum ARRAY_TYPE isarray, char **scan_length, enum COMPAT_MODE compa return false; } -/* stolen code from src/backend/utils/adt/float.c */ -#if defined(WIN32) && !defined(NAN) -static const uint32 nan[2] = {0xffffffff, 0x7fffffff}; - -#define NAN (*(const double *) nan) -#endif +/* + * Portability wrappers borrowed from src/include/utils/float.h + */ static double get_float8_infinity(void) { -#ifdef INFINITY return (double) INFINITY; -#else - return (double) (HUGE_VAL * HUGE_VAL); -#endif } static double get_float8_nan(void) { - /* (double) NAN doesn't work on some NetBSD/MIPS releases */ -#if defined(NAN) && !(defined(__NetBSD__) && defined(__mips__)) return (double) NAN; -#else - return (double) (0.0 / 0.0); -#endif } + static bool check_special_value(char *ptr, double *retval, char **endptr) { |