diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2018-05-18 12:52:28 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2018-05-18 12:52:28 -0400 |
commit | f586f8638929b54de9e7f6b65fe6916b8cee38fe (patch) | |
tree | 120fac96ffe42a836b9ecf34564ceda6002c3323 | |
parent | 7d5b403b8d418742b734f85fda32b0eca8ee4113 (diff) | |
download | postgresql-f586f8638929b54de9e7f6b65fe6916b8cee38fe.tar.gz postgresql-f586f8638929b54de9e7f6b65fe6916b8cee38fe.zip |
Recognize that MSVC can support strtoll() and strtoull().
This is needed for full support of "long long" variables in ecpg, but
the previous patch for bug #15080 (commits 51057feaa et al) missed it.
In MSVC versions where the functions don't exist under those names,
we can nonetheless use _strtoi64() and _strtoui64().
Like the previous patch, back-patch all the way.
Dang Minh Huong
Discussion: https://postgr.es/m/151935568942.1461.14623890240535309745@wrigleys.postgresql.org
-rw-r--r-- | src/include/pg_config.h.win32 | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 9149c7ad376..a62bcac64e2 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -385,13 +385,25 @@ #define HAVE_STRONG_RANDOM 1 /* Define to 1 if you have the `strtoll' function. */ -//#define HAVE_STRTOLL 1 +#ifdef HAVE_LONG_LONG_INT_64 +#define HAVE_STRTOLL 1 +/* Before VS2013, use Microsoft's nonstandard equivalent function */ +#if (_MSC_VER < 1800) +#define strtoll _strtoi64 +#endif +#endif /* Define to 1 if you have the `strtoq' function. */ /* #undef HAVE_STRTOQ */ /* Define to 1 if you have the `strtoull' function. */ -//#define HAVE_STRTOULL 1 +#ifdef HAVE_LONG_LONG_INT_64 +#define HAVE_STRTOULL 1 +/* Before VS2013, use Microsoft's nonstandard equivalent function */ +#if (_MSC_VER < 1800) +#define strtoull _strtoui64 +#endif +#endif /* Define to 1 if you have the `strtouq' function. */ /* #undef HAVE_STRTOUQ */ |