[Scummvm-cvs-logs] SF.net SVN: scummvm:[33210] scummvm/trunk/backends/platform/symbian/src/ SymbianOS.cpp
anotherguest at users.sourceforge.net
anotherguest at users.sourceforge.net
Tue Jul 22 20:52:13 CEST 2008
Revision: 33210
http://scummvm.svn.sourceforge.net/scummvm/?rev=33210&view=rev
Author: anotherguest
Date: 2008-07-22 18:52:13 +0000 (Tue, 22 Jul 2008)
Log Message:
-----------
Fixed seek problem when cached data is used.
Modified Paths:
--------------
scummvm/trunk/backends/platform/symbian/src/SymbianOS.cpp
Modified: scummvm/trunk/backends/platform/symbian/src/SymbianOS.cpp
===================================================================
--- scummvm/trunk/backends/platform/symbian/src/SymbianOS.cpp 2008-07-22 17:39:30 UTC (rev 33209)
+++ scummvm/trunk/backends/platform/symbian/src/SymbianOS.cpp 2008-07-22 18:52:13 UTC (rev 33210)
@@ -627,6 +627,7 @@
TSeek seekMode = ESeekStart;
TInt pos = offset;
+ TSymbianFileEntry* entry = ((TSymbianFileEntry*)(handle));
switch(whence) {
case SEEK_SET:
@@ -634,6 +635,9 @@
break;
case SEEK_CUR:
seekMode = ESeekCurrent;
+ if(entry->iInputPos != KErrNotFound) {
+ pos+=(entry->iInputPos - entry->iInputBufferLen);
+ }
break;
case SEEK_END:
seekMode = ESeekEnd;
@@ -641,9 +645,9 @@
}
- ((TSymbianFileEntry*)(handle))->iInputPos = KErrNotFound;
+ entry->iInputPos = KErrNotFound;
- return ((TSymbianFileEntry*)(handle))->iFileHandle.Seek(seekMode, pos);
+ return entry->iFileHandle.Seek(seekMode, pos);
}
void symbian_clearerr(FILE* /*handle*/) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list