From de66bd34b9bbaab16492ac4f4940006a02b14aee Mon Sep 17 00:00:00 2001 From: Rod Vagg Date: Wed, 13 Sep 2017 19:43:43 +1000 Subject: [PATCH] deps: c-ares float, manual ares_ssize_t definition c-ares switched to using ares_ssize_t for platform-independent ssize_t, our GYP usage to include config//ares_config.h causes problems when including gyp as a library in core, i.e. in env.h and cares_wrap.h, where the defines don't get pulled in properly. This, so far, is the easiest approach to just making it work nicely--explicitly defining ares_ssize_t for the different Windows variants and ssize_t for non-Windows where we don't have a configured type from an ares_config.h. In all of our non-Windows platforms it is ssize_t anyway so this is safe. PR-URL: https://github.com/nodejs/node/pull/15378 Reviewed-By: James M Snell Reviewed-By: Ruben Bridgewater PR-URL: https://github.com/nodejs/node/pull/19939 Reviewed-By: Ruben Bridgewater Reviewed-By: Colin Ihrig Reviewed-By: James M Snell Reviewed-By: Ben Noordhuis --- deps/cares/include/ares_build.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/deps/cares/include/ares_build.h b/deps/cares/include/ares_build.h index 5e3ba9f0d8cb0c..f5535b38493fcb 100644 --- a/deps/cares/include/ares_build.h +++ b/deps/cares/include/ares_build.h @@ -194,14 +194,16 @@ /* Data type definition of ares_ssize_t. */ #ifdef _WIN32 # ifdef _WIN64 -# define CARES_TYPEOF_ARES_SSIZE_T __int64 + typedef __int64 ares_ssize_t; # else -# define CARES_TYPEOF_ARES_SSIZE_T long + typedef long ares_ssize_t; # endif #else -# define CARES_TYPEOF_ARES_SSIZE_T ssize_t +# ifdef CARES_TYPEOF_ARES_SSIZE_T + typedef CARES_TYPEOF_ARES_SSIZE_T ares_ssize_t; +# else + typedef ssize_t ares_ssize_t; +# endif #endif -typedef CARES_TYPEOF_ARES_SSIZE_T ares_ssize_t; - #endif /* __CARES_BUILD_H */