From ac40d96fb8939e98d4a9d6633159e96b38d3e168 Mon Sep 17 00:00:00 2001 From: Sam Hocevar Date: Sun, 7 Jan 2007 16:27:59 +0000 Subject: [PATCH] * Fixed __srefill()/lseek() conflict issue. --- src/load-stream.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/load-stream.c b/src/load-stream.c index 627b750..451a1f8 100644 --- a/src/load-stream.c +++ b/src/load-stream.c @@ -566,8 +566,8 @@ char *fgetln(FILE *stream, size_t *len) #ifdef HAVE___SREFILL int __srefill(FILE *fp) { - off_t oldpos, newpos; - int ret, fd; + off_t newpos; + int ret, fd, tmp; if(!_zz_ready) LOADSYM(__srefill); @@ -575,9 +575,11 @@ int __srefill(FILE *fp) if(!_zz_ready || !_zz_iswatched(fd)) return __srefill_orig(fp); - oldpos = lseek(fd, 0, SEEK_CUR); ret = __srefill_orig(fp); + tmp = _zz_disabled; + _zz_disabled = 1; newpos = lseek(fd, 0, SEEK_CUR); + _zz_disabled = tmp; if(ret != EOF) { if(newpos != -1)