+gzip (1.4-3) UNRELEASED; urgency=low
+
+ * patch from upstream for sys_stat.in.h to fix mingw32 builds,
+ closes: #653960
+
+ -- Bdale Garbee <bdale@gag.com> Mon, 05 Mar 2012 22:13:33 -0700
+
gzip (1.4-2) unstable; urgency=low
* patch to use DEB_HOST_ARCH in rules, closes: #644785
getdtablesize-missing.diff
rsyncable.diff
zless-LESSOPEN.diff
+sys_stat.in.h.diff
--- /dev/null
+diff --git a/lib/sys_stat.in.h b/lib/sys_stat.in.h
+index e83ab1a..c71d44e 100644
+--- a/lib/sys_stat.in.h
++++ b/lib/sys_stat.in.h
+@@ -500,14 +500,33 @@ extern int mknodat (int fd, char const *file, mode_t mode, dev_t dev)
+ /* We can't use the object-like #define stat rpl_stat, because of
+ struct stat. This means that rpl_stat will not be used if the user
+ does (stat)(a,b). Oh well. */
+-# undef stat
+-# ifdef _LARGE_FILES
++# if defined _AIX && defined stat && defined _LARGE_FILES
+ /* With _LARGE_FILES defined, AIX (only) defines stat to stat64,
+ so we have to replace stat64() instead of stat(). */
+-# define stat stat64
+ # undef stat64
+ # define stat64(name, st) rpl_stat (name, st)
+-# else /* !_LARGE_FILES */
++# elif defined __MINGW32__ && defined stat
++# ifdef _USE_32BIT_TIME_T
++ /* The system headers define stat to _stat32i64. */
++# undef _stat32i64
++# define _stat32i64(name, st) rpl_stat (name, st)
++# else
++ /* The system headers define stat to _stat64. */
++# undef _stat64
++# define _stat64(name, st) rpl_stat (name, st)
++# endif
++# elif defined _MSC_VER && defined stat
++# ifdef _USE_32BIT_TIME_T
++ /* The system headers define stat to _stat32. */
++# undef _stat32
++# define _stat32(name, st) rpl_stat (name, st)
++# else
++ /* The system headers define stat to _stat64i32. */
++# undef _stat64i32
++# define _stat64i32(name, st) rpl_stat (name, st)
++# endif
++# else /* !(_AIX ||__MINGW32__ || _MSC_VER) */
++# undef stat
+ # define stat(name, st) rpl_stat (name, st)
+ # endif /* !_LARGE_FILES */
+ extern int stat (const char *name, struct stat *buf) _GL_ARG_NONNULL ((1, 2));
/* We can't use the object-like #define stat rpl_stat, because of
struct stat. This means that rpl_stat will not be used if the user
does (stat)(a,b). Oh well. */
-# undef stat
-# ifdef _LARGE_FILES
+# if defined _AIX && defined stat && defined _LARGE_FILES
/* With _LARGE_FILES defined, AIX (only) defines stat to stat64,
so we have to replace stat64() instead of stat(). */
-# define stat stat64
# undef stat64
# define stat64(name, st) rpl_stat (name, st)
-# else /* !_LARGE_FILES */
+# elif defined __MINGW32__ && defined stat
+# ifdef _USE_32BIT_TIME_T
+ /* The system headers define stat to _stat32i64. */
+# undef _stat32i64
+# define _stat32i64(name, st) rpl_stat (name, st)
+# else
+ /* The system headers define stat to _stat64. */
+# undef _stat64
+# define _stat64(name, st) rpl_stat (name, st)
+# endif
+# elif defined _MSC_VER && defined stat
+# ifdef _USE_32BIT_TIME_T
+ /* The system headers define stat to _stat32. */
+# undef _stat32
+# define _stat32(name, st) rpl_stat (name, st)
+# else
+ /* The system headers define stat to _stat64i32. */
+# undef _stat64i32
+# define _stat64i32(name, st) rpl_stat (name, st)
+# endif
+# else /* !(_AIX ||__MINGW32__ || _MSC_VER) */
+# undef stat
# define stat(name, st) rpl_stat (name, st)
# endif /* !_LARGE_FILES */
extern int stat (const char *name, struct stat *buf) _GL_ARG_NONNULL ((1, 2));