aboutsummaryrefslogtreecommitdiffstats
path: root/wiretap
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2000-01-25 04:49:55 +0000
committerGuy Harris <guy@alum.mit.edu>2000-01-25 04:49:55 +0000
commitf71823a907ee22663dd666a0733c068f5475e69e (patch)
treebc12b604888e56baa425fe521c5d7a2986238df3 /wiretap
parent8192b8996784a8d0d559091b28bbde3a605d0d46 (diff)
"gztell()" is also affected by the libz mess on platforms where "off_t"
is bigger than a "long"; this is itojun's fix for that, turning "file_tell()" into a wrapper function in "file_wrappers.c", just like "file_seek()". svn path=/trunk/; revision=1554
Diffstat (limited to 'wiretap')
-rw-r--r--wiretap/file_wrappers.c12
-rw-r--r--wiretap/file_wrappers.h4
2 files changed, 11 insertions, 5 deletions
diff --git a/wiretap/file_wrappers.c b/wiretap/file_wrappers.c
index 83aa02ea7f..48d7558421 100644
--- a/wiretap/file_wrappers.c
+++ b/wiretap/file_wrappers.c
@@ -1,6 +1,6 @@
/* file_wrappers.c
*
- * $Id: file_wrappers.c,v 1.3 2000/01/22 06:22:37 guy Exp $
+ * $Id: file_wrappers.c,v 1.4 2000/01/25 04:49:55 guy Exp $
*
* Wiretap Library
* Copyright (c) 1998 by Gilbert Ramirez <gram@xiexie.org>
@@ -84,10 +84,16 @@
int
file_seek(void *stream, long offset, int whence)
{
- return gzseek(stream, offset, whence);
+ return gzseek(stream, (z_off_t)offset, whence);
+}
+
+long
+file_tell(void *stream)
+{
+ return (long)gztell(stream);
}
#else /* HAVE_LIBZ */
-int
+long
file_seek(FILE *stream, long offset, int whence)
{
return fseek(stream, offset, whence);
diff --git a/wiretap/file_wrappers.h b/wiretap/file_wrappers.h
index 7869162731..cfda764a07 100644
--- a/wiretap/file_wrappers.h
+++ b/wiretap/file_wrappers.h
@@ -1,6 +1,6 @@
/* file_wrappers.h
*
- * $Id: file_wrappers.h,v 1.2 2000/01/22 06:22:37 guy Exp $
+ * $Id: file_wrappers.h,v 1.3 2000/01/25 04:49:55 guy Exp $
*
* Wiretap Library
* Copyright (c) 1998 by Gilbert Ramirez <gram@xiexie.org>
@@ -31,7 +31,7 @@ extern int file_seek(void *stream, long offset, int whence);
#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
-#define file_tell gztell
+extern long file_tell(void *stream);
#define file_getc gzgetc
#define file_gets(buf, len, file) gzgets((file), (buf), (len))
extern int file_error(void *fh);