diff options
Diffstat (limited to 'writerperfect/source/common/WPXSvStream.cxx')
-rw-r--r-- | writerperfect/source/common/WPXSvStream.cxx | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/writerperfect/source/common/WPXSvStream.cxx b/writerperfect/source/common/WPXSvStream.cxx index 3b33a170ede3..86e835b0dc23 100644 --- a/writerperfect/source/common/WPXSvStream.cxx +++ b/writerperfect/source/common/WPXSvStream.cxx @@ -310,9 +310,7 @@ const unsigned char *WPXSvInputStream::read(unsigned long numBytes, unsigned lon mpImpl->mnReadBufferLength = mpImpl->mnLength - curpos; } else - mpImpl->mnReadBufferLength = numBytes; - - mpImpl->seek((long) curpos); + return mpImpl->read(numBytes, numBytesRead); mpImpl->mpReadBuffer = new unsigned char[mpImpl->mnReadBufferLength]; unsigned long tmpNumBytes(0); @@ -360,7 +358,7 @@ int WPXSvInputStream::seek(long offset, WPX_SEEK_TYPE seekType) if (tmpOffset < mpImpl->tell() && (unsigned long)tmpOffset >= (unsigned long)mpImpl->tell() - mpImpl->mnReadBufferLength) { mpImpl->mnReadBufferPos = (unsigned long)(tmpOffset + (long) mpImpl->mnReadBufferLength - (long) mpImpl->tell()); - return 0; + return retVal; } mpImpl->invalidateReadBuffer(); |