summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/libz/zopen.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/libz/zopen.c b/lib/libz/zopen.c
index 822a5e1..d570c98 100644
--- a/lib/libz/zopen.c
+++ b/lib/libz/zopen.c
@@ -29,6 +29,12 @@ xgzclose(void *cookie)
return gzclose(cookie);
}
+static fpos_t
+xgzseek(void *cookie, fpos_t offset, int whence)
+{
+ return gzseek(cookie, (z_off_t)offset, whence);
+}
+
FILE *
zopen(const char *fname, const char *mode)
{
@@ -37,7 +43,7 @@ zopen(const char *fname, const char *mode)
return NULL;
if(*mode == 'r')
- return (funopen(gz, xgzread, NULL, NULL, xgzclose));
+ return (funopen(gz, xgzread, NULL, xgzseek, xgzclose));
else
- return (funopen(gz, NULL, xgzwrite, NULL, xgzclose));
+ return (funopen(gz, NULL, xgzwrite, xgzseek, xgzclose));
}
OpenPOWER on IntegriCloud