"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
This commit is contained in:
Guy Harris 2000-01-25 04:49:55 +00:00
parent 8192b89967
commit f71823a907
2 changed files with 11 additions and 5 deletions

View File

@ -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);

View File

@ -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);