aboutsummaryrefslogtreecommitdiffstats
path: root/wiretap/file_wrappers.h
diff options
context:
space:
mode:
authorguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2002-06-07 07:27:35 +0000
committerguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2002-06-07 07:27:35 +0000
commitcfc912ef0ce1948bd6738533390303874d9fd44b (patch)
treefc165ec22e943d3b15a10b6c8c84359286432e05 /wiretap/file_wrappers.h
parent8508f775b09925ad4cc117c972dc821a3568afe0 (diff)
Graeme Hewson noted that zlib has a bug wherein "gzseek()" doesn't set
the internal z_err value for the stream if an "fseek()" call it makes fails, so that if "gzerror()" is subsequently called, it returns Z_OK rather than an error. To work around this, we pass "file_seek()" an "int *err", and have the with-zlib version of "file_seek()" check, if "gzseek()" fails, whether the return value of "file_error()" is 0 and, if so, have it return "errno" instead. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@5642 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'wiretap/file_wrappers.h')
-rw-r--r--wiretap/file_wrappers.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/wiretap/file_wrappers.h b/wiretap/file_wrappers.h
index efeb96e35a..ee29c7a3bf 100644
--- a/wiretap/file_wrappers.h
+++ b/wiretap/file_wrappers.h
@@ -1,6 +1,6 @@
/* file_wrappers.h
*
- * $Id: file_wrappers.h,v 1.8 2002/03/04 00:25:35 guy Exp $
+ * $Id: file_wrappers.h,v 1.9 2002/06/07 07:27:34 guy Exp $
*
* Wiretap Library
* Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
@@ -28,7 +28,7 @@
#define file_open gzopen
#define filed_open gzdopen
-extern long file_seek(void *stream, long offset, int whence);
+extern long file_seek(void *stream, long offset, int whence, int *err);
#define file_read(buf, bsize, count, file) gzread((file),(buf),((count)*(bsize)))
#define file_write(buf, bsize, count, file) gzwrite((file),(buf),((count)*(bsize)))
#define file_close gzclose
@@ -41,7 +41,7 @@ extern int file_error(void *fh);
#else /* No zLib */
#define file_open fopen
#define filed_open fdopen
-#define file_seek fseek
+extern long file_seek(void *stream, long offset, int whence, int *err);
#define file_read fread
#define file_write fwrite
#define file_close fclose