]> git.saurik.com Git - wxWidgets.git/commitdiff
Seek(-1, mode) should work instead of giving an error if mode != wxFromStart
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 20 Mar 2005 18:48:58 +0000 (18:48 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 20 Mar 2005 18:48:58 +0000 (18:48 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32937 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/changes.txt
src/common/file.cpp

index 5a64ce5bcd5853f45f4ceb8a2906f3509d71a810..d56a29c43f49f1dd02ead962298bfd0f4035ceb3 100644 (file)
@@ -13,6 +13,7 @@ All:
 - Added wxTempFileOutputStream by Stas Sergeev.
 - Fixed wxDateTime::SetToWeekDayInSameWeek(Sun, Monday_First).
 - Added WXK_SPECIAL keycodes for special hardware buttons.
+- Fixed bug with wxFile::Seek(-1, wxFromCurrent)
 
 All (GUI):
 
index a4b94e28ca23a8887510f5560a336fd5db83825f..9985b9d44874a06391747524add3dd733b286ef0 100644 (file)
@@ -356,7 +356,10 @@ bool wxFile::Flush()
 // seek
 wxFileOffset wxFile::Seek(wxFileOffset ofs, wxSeekMode mode)
 {
-    wxASSERT( IsOpened() );
+    wxASSERT_MSG( IsOpened(), _T("can't seek on closed file") );
+    wxCHECK_MSG( ofs != wxInvalidOffset || mode != wxFromStart,
+                 wxInvalidOffset,
+                 _T("invalid absolute file offset") );
 
     int origin;
     switch ( mode ) {
@@ -376,11 +379,6 @@ wxFileOffset wxFile::Seek(wxFileOffset ofs, wxSeekMode mode)
             break;
     }
 
-    if (ofs == wxInvalidOffset)
-    {
-        wxLogSysError(_("can't seek on file descriptor %d, large files support is not enabled."), m_fd);
-        return wxInvalidOffset;
-    }
     wxFileOffset iRc = wxSeek(m_fd, ofs, origin);
     if ( iRc == wxInvalidOffset )
     {