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:
@@ -67,6 +67,11 @@ wxMac
|
|||||||
|
|
||||||
- Corrected top border size for wxStaticBox with empty label (nusi)
|
- Corrected top border size for wxStaticBox with empty label (nusi)
|
||||||
|
|
||||||
|
wxMSW:
|
||||||
|
|
||||||
|
- Fixed wxFileName::GetSize() for large files
|
||||||
|
|
||||||
|
|
||||||
2.8.2
|
2.8.2
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
@@ -2331,14 +2331,11 @@ wxULongLong wxFileName::GetSize(const wxString &filename)
|
|||||||
|
|
||||||
DWORD lpFileSizeHigh;
|
DWORD lpFileSizeHigh;
|
||||||
DWORD ret = GetFileSize(f, &lpFileSizeHigh);
|
DWORD ret = GetFileSize(f, &lpFileSizeHigh);
|
||||||
if (ret == INVALID_FILE_SIZE)
|
if ( ret == INVALID_FILE_SIZE && ::GetLastError() != NO_ERROR )
|
||||||
return wxInvalidSize;
|
return wxInvalidSize;
|
||||||
|
|
||||||
// compose the low-order and high-order byte sizes
|
return wxULongLong(lpFileSizeHigh, ret);
|
||||||
return wxULongLong(ret | (lpFileSizeHigh << sizeof(WORD)*2));
|
#else // ! __WIN32__
|
||||||
|
|
||||||
#else // ! __WIN32__
|
|
||||||
|
|
||||||
wxStructStat st;
|
wxStructStat st;
|
||||||
#ifndef wxNEED_WX_UNISTD_H
|
#ifndef wxNEED_WX_UNISTD_H
|
||||||
if (wxStat( filename.fn_str() , &st) != 0)
|
if (wxStat( filename.fn_str() , &st) != 0)
|
||||||
|
Reference in New Issue
Block a user