From e86cbf426a5570ec31d6062d3436bc1b0ff92fbb Mon Sep 17 00:00:00 2001 From: Gabriele Gristina Date: Sat, 29 Jun 2019 14:46:33 +0200 Subject: [PATCH] add workaround for zlib with cygwin build (v2) --- include/shared.h | 4 ++++ src/Makefile | 4 ---- src/shared.c | 12 ++++++++++++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/include/shared.h b/include/shared.h index 07aa2596c..e9cfd95ca 100644 --- a/include/shared.h +++ b/include/shared.h @@ -62,6 +62,10 @@ bool hc_string_is_digit (const char *s); void hc_string_trim_trailing (char *s); void hc_string_trim_leading (char *s); +#if defined (__CYGWIN__) +int _wopen(const char *path, int oflag, ...); +#endif + bool hc_fopen (HCFILE *fp, const char *path, char *mode); int hc_fscanf (HCFILE *fp, const char *format, void *ptr); int hc_fprintf (HCFILE *fp, const char *format, ...); diff --git a/src/Makefile b/src/Makefile index a7bb156d6..9e2a15865 100644 --- a/src/Makefile +++ b/src/Makefile @@ -178,12 +178,8 @@ endif ## because ZLIB ifeq ($(USE_SYSTEM_ZLIB),0) -ifeq ($(UNAME),CYGWIN) -CFLAGS_ZLIB += -Wno-implicit-fallthrough -UWIDECHAR -else CFLAGS_ZLIB += -Wno-implicit-fallthrough endif -endif ifeq ($(DEBUG),0) CFLAGS += -O2 diff --git a/src/shared.c b/src/shared.c index d06038c6d..4d7f0cb4b 100644 --- a/src/shared.c +++ b/src/shared.c @@ -602,6 +602,18 @@ void hc_string_trim_trailing (char *s) s[new_len] = 0; } +#if defined (__CYGWIN__) +// workaround for zlib with cygwin build +int _wopen(const char *path, int oflag, ...) +{ + va_list ap; + va_start (ap, oflag); + int r = open (path, oflag, ap); + va_end (ap); + return r; +} +#endif + bool hc_fopen (HCFILE *fp, const char *path, char *mode) { unsigned char check[3] = { 0 };