diff options
-rw-r--r-- | lib/Handle.cc | 21 |
1 files changed, 1 insertions, 20 deletions
diff --git a/lib/Handle.cc b/lib/Handle.cc index 39bc981..7fd8947 100644 --- a/lib/Handle.cc +++ b/lib/Handle.cc @@ -463,9 +463,6 @@ ssize_t Handle::uread(void * buf, size_t count) { #ifdef DEBUG printm(M_BARE, String(_("Performing gzread of ")) + count + _(" byte(s) for handle ") + h + "\n"); #endif - ssize_t msize = GetSize(); - if ((msize >= 0) && ((count + itell) >= msize)) - count = msize - itell; int err = gzread(zfile, buf, count); if (err == -1) { throw GeneralException(String("Error reading zstream: ") + gzerror(zfile, &err)); @@ -506,23 +503,7 @@ bool Handle::CanSeek() const { off_t Handle::seek(off_t offset, int whence) throw(GeneralException) { if (z) { - ssize_t msize = GetSize(); - if (msize >= 0) { - switch (whence) { - case SEEK_CUR: - offset += itell; - break; - case SEEK_END: - offset += msize; - break; - } - return itell = gzseek(zfile, offset, SEEK_SET); - } else { - if (whence == SEEK_END) { - throw IOGeneral("zlib can't seek from the end on a stream."); - } - return itell = gzseek(zfile, offset, whence); - } + return itell = gzseek(zfile, offset, whence); } else { throw IOGeneral(_("Handle ") + GetName() + _(" can't seek")); } |