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
This commit is contained in:
Tom Lane 2018-05-18 12:52:28 -04:00
parent 830e8e3609
commit 25caeae8d2

View File

@ -354,13 +354,25 @@
#define HAVE_STRING_H 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 */