diff --git a/lib/Makefile.msvc b/lib/Makefile.msvc index 2a930d11..2b8f1848 100644 --- a/lib/Makefile.msvc +++ b/lib/Makefile.msvc @@ -62,7 +62,7 @@ AR := lib #LD := xilink #AR := xilib RC := rc -CFLAGS := -I./includes -Dssize_t=long -D_U_="" +CFLAGS := -I./includes -Dssize_t=SSIZE_T -D_U_="" CFLAGS_R := -nologo -MD -W3 -Z7 -DBUILDING_NGHTTP2 CFLAGS_D := -nologo -MDd -W3 -Z7 -DBUILDING_NGHTTP2 \ diff --git a/lib/includes/nghttp2/nghttp2.h b/lib/includes/nghttp2/nghttp2.h index d567afd3..8e87ce4b 100644 --- a/lib/includes/nghttp2/nghttp2.h +++ b/lib/includes/nghttp2/nghttp2.h @@ -35,6 +35,17 @@ extern "C" { #endif +/* For Win32 application, use type NGHTTP2_SSIZE_T instead of + ssize_t. */ +#if defined(WIN32) +#pragma once +#include +typedef SSIZE_T NGHTTP2_SSIZE_T; +#if !defined(BUILDING_NGHTTP2) +#define ssize_t NGHTTP2_SSIZE_T +#endif +#endif + #include #if defined(_MSC_VER) && (_MSC_VER < 1800) /* MSVC < 2013 does not have inttypes.h because it is not C99 @@ -5003,6 +5014,12 @@ NGHTTP2_EXTERN int32_t nghttp2_stream_get_weight(nghttp2_stream *stream); NGHTTP2_EXTERN int32_t nghttp2_stream_get_sum_dependency_weight(nghttp2_stream *stream); +#if defined(WIN32) +#if !defined(BUILDING_NGHTTP2) +#undef ssize_t +#endif +#endif + #ifdef __cplusplus } #endif