fix GetSize() for large files (patch 1680876)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44812 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2007-03-15 00:18:05 +00:00
parent aea9f6d5d3
commit 5ab9534bc6
2 changed files with 8 additions and 6 deletions

View File

@@ -67,6 +67,11 @@ wxMac
- Corrected top border size for wxStaticBox with empty label (nusi)
wxMSW:
- Fixed wxFileName::GetSize() for large files
2.8.2
-----

View File

@@ -2331,14 +2331,11 @@ wxULongLong wxFileName::GetSize(const wxString &filename)
DWORD lpFileSizeHigh;
DWORD ret = GetFileSize(f, &lpFileSizeHigh);
if (ret == INVALID_FILE_SIZE)
if ( ret == INVALID_FILE_SIZE && ::GetLastError() != NO_ERROR )
return wxInvalidSize;
// compose the low-order and high-order byte sizes
return wxULongLong(ret | (lpFileSizeHigh << sizeof(WORD)*2));
#else // ! __WIN32__
return wxULongLong(lpFileSizeHigh, ret);
#else // ! __WIN32__
wxStructStat st;
#ifndef wxNEED_WX_UNISTD_H
if (wxStat( filename.fn_str() , &st) != 0)