X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/halibut/blobdiff_plain/51d05cd0a6de05c0adc8986e1d534e426d6f582c..refs/heads/master:/deflate.c diff --git a/deflate.c b/deflate.c index 186e14c..6bbceae 100644 --- a/deflate.c +++ b/deflate.c @@ -2601,6 +2601,15 @@ const char *const deflate_error_sym[DEFLATE_NUM_ERRORS] = { }; #undef A +#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(_WIN64) +#define WINDOWS_IO +#endif + +#if defined(WINDOWS_IO) && (defined(STANDALONE) || defined(TESTMODE)) +#include +#include +#endif + #ifdef STANDALONE int main(int argc, char **argv) @@ -2676,6 +2685,14 @@ int main(int argc, char **argv) fprintf(stderr, "unable to open '%s'\n", filename); return 1; } + +#ifdef WINDOWS_IO + if(_setmode(_fileno(stdout), _O_BINARY ) == -1) + { + fprintf(stderr, "Can't set stdout to binary mode\n"); + return 1; + } +#endif do { ret = fread(buf, 1, sizeof(buf), fp); @@ -2764,6 +2781,14 @@ int main(int argc, char **argv) chandle = deflate_compress_new(DEFLATE_TYPE_ZLIB); dhandle = deflate_decompress_new(DEFLATE_TYPE_ZLIB); + +#ifdef WINDOWS_IO + if(_setmode(_fileno(stdout), _O_BINARY ) == -1) + { + fprintf(stderr, "Can't set stdout to binary mode\n"); + return 1; + } +#endif do { ret = fread(buf, 1, sizeof(buf), fp);