Index: third_party/zlib/gzguts.h |
diff --git a/third_party/zlib/gzguts.h b/third_party/zlib/gzguts.h |
index d87659d0319fa36db9f59ea62124bd28207ef9ae..990a4d2514933709883a7d949ed52146675fe2c1 100644 |
--- a/third_party/zlib/gzguts.h |
+++ b/third_party/zlib/gzguts.h |
@@ -1,5 +1,5 @@ |
/* gzguts.h -- zlib internal header definitions for gz* operations |
- * Copyright (C) 2004, 2005, 2010, 2011, 2012, 2013 Mark Adler |
+ * Copyright (C) 2004, 2005, 2010, 2011, 2012, 2013, 2016 Mark Adler |
* For conditions of distribution and use, see copyright notice in zlib.h |
*/ |
@@ -25,6 +25,10 @@ |
# include <stdlib.h> |
# include <limits.h> |
#endif |
+ |
+#ifndef _POSIX_SOURCE |
+# define _POSIX_SOURCE |
+#endif |
#include <fcntl.h> |
#ifdef _WIN32 |
@@ -35,6 +39,10 @@ |
# include <io.h> |
#endif |
+#if defined(_WIN32) || defined(__CYGWIN__) |
+# define WIDECHAR |
+#endif |
+ |
#ifdef WINAPI_FAMILY |
# define open _open |
# define read _read |
@@ -95,18 +103,19 @@ |
# endif |
#endif |
-/* unlike snprintf (which is required in C99, yet still not supported by |
- Microsoft more than a decade later!), _snprintf does not guarantee null |
- termination of the result -- however this is only used in gzlib.c where |
+/* unlike snprintf (which is required in C99), _snprintf does not guarantee |
+ null termination of the result -- however this is only used in gzlib.c where |
the result is assured to fit in the space provided */ |
-#ifdef _MSC_VER |
+#if defined(_MSC_VER) && _MSC_VER < 1900 |
# define snprintf _snprintf |
#endif |
#ifndef local |
# define local static |
#endif |
-/* compile with -Dlocal if your debugger can't find static symbols */ |
+/* since "static" is used to mean two completely different things in C, we |
+ define "local" for the non-static meaning of "static", for readability |
+ (compile with -Dlocal if your debugger can't find static symbols) */ |
/* gz* functions always use library allocation functions */ |
#ifndef STDC |
@@ -170,7 +179,7 @@ typedef struct { |
char *path; /* path or fd for error messages */ |
unsigned size; /* buffer size, zero if not allocated yet */ |
unsigned want; /* requested buffer size, default is GZBUFSIZE */ |
- unsigned char *in; /* input buffer */ |
+ unsigned char *in; /* input buffer (double-sized when writing) */ |
unsigned char *out; /* output buffer (double-sized when reading) */ |
int direct; /* 0 if processing gzip, 1 if transparent */ |
/* just for reading */ |