summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2018-05-18 12:52:28 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2018-05-18 12:52:28 -0400
commit385f4acbf824f520287f20373ebae4713382a568 (patch)
tree1a73680ea7da744d3811bc1867df1ebef86d21d9
parentb5f096d50bee5c20023ed05390fdc52aa44a1404 (diff)
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.win3216
1 files changed, 14 insertions, 2 deletions
diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32
index 2a1e5b396f2..a39c0a547b3 100644
--- a/src/include/pg_config.h.win32
+++ b/src/include/pg_config.h.win32
@@ -366,13 +366,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 */