src: only define ssize_t on windows if undefined
This matches how libuv handles the definition of ssize_t, by typedef'ing intptr_t to ssize_t. However, in the future we will use portable types from stddef.h
This commit is contained in:
parent
9836a4eeda
commit
ab54e32bbd
19
src/node.h
19
src/node.h
@ -61,14 +61,6 @@
|
|||||||
#include "v8.h" // NOLINT(build/include_order)
|
#include "v8.h" // NOLINT(build/include_order)
|
||||||
#include "node_version.h" // NODE_MODULE_VERSION
|
#include "node_version.h" // NODE_MODULE_VERSION
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
# include <BaseTsd.h>
|
|
||||||
typedef SSIZE_T ssize_t;
|
|
||||||
typedef SIZE_T size_t;
|
|
||||||
#else // !_WIN32
|
|
||||||
# include <sys/types.h> // size_t, ssize_t
|
|
||||||
#endif // _WIN32
|
|
||||||
|
|
||||||
// Forward-declare these functions now to stop MSVS from becoming
|
// Forward-declare these functions now to stop MSVS from becoming
|
||||||
// terminally confused when it's done in node_internals.h
|
// terminally confused when it's done in node_internals.h
|
||||||
namespace node {
|
namespace node {
|
||||||
@ -192,6 +184,17 @@ void DisplayExceptionLine(v8::Handle<v8::Message> message);
|
|||||||
NODE_EXTERN v8::Local<v8::Value> Encode(const void *buf, size_t len,
|
NODE_EXTERN v8::Local<v8::Value> Encode(const void *buf, size_t len,
|
||||||
enum encoding encoding = BINARY);
|
enum encoding encoding = BINARY);
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
// TODO(tjfontaine) consider changing the usage of ssize_t to ptrdiff_t
|
||||||
|
#if !defined(_SSIZE_T_) && !defined(_SSIZE_T_DEFINED)
|
||||||
|
typedef intptr_t ssize_t;
|
||||||
|
# define _SSIZE_T_
|
||||||
|
# define _SSIZE_T_DEFINED
|
||||||
|
#endif
|
||||||
|
#else // !_WIN32
|
||||||
|
# include <sys/types.h> // size_t, ssize_t
|
||||||
|
#endif // _WIN32
|
||||||
|
|
||||||
// Returns -1 if the handle was not valid for decoding
|
// Returns -1 if the handle was not valid for decoding
|
||||||
NODE_EXTERN ssize_t DecodeBytes(v8::Handle<v8::Value>,
|
NODE_EXTERN ssize_t DecodeBytes(v8::Handle<v8::Value>,
|
||||||
enum encoding encoding = BINARY);
|
enum encoding encoding = BINARY);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user