]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/utils.cpp
better learn the operators...
[wxWidgets.git] / src / msw / utils.cpp
index 686ff7d697f34c4a5a858bc51accbe79c09fa1f5..d8397b413fea729fc2548bcafb781dbc92f81432 100644 (file)
@@ -463,7 +463,7 @@ bool wxGetDiskSpace(const wxString& path, wxLongLong *pTotal, wxLongLong *pFree)
                                          PULARGE_INTEGER);
 
     GetDiskFreeSpaceEx_t
-        pGetDiskFreeSpaceEx = ::GetProcAddress
+        pGetDiskFreeSpaceEx = (GetDiskFreeSpaceEx_t)::GetProcAddress
                               (
                                 ::GetModuleHandle(_T("kernel32.dll")),
 #if wxUSE_UNICODE
@@ -501,6 +501,10 @@ bool wxGetDiskSpace(const wxString& path, wxLongLong *pTotal, wxLongLong *pFree)
     else
 #endif // Win32
     {
+        // there's a problem with drives larger than 2GB, GetDiskFreeSpaceEx()
+        // should be used instead - but if it's not available, fall back on
+        // GetDiskFreeSpace() nevertheless...
+
         DWORD lSectorsPerCluster,
               lBytesPerSector,
               lNumberOfFreeClusters,
@@ -519,8 +523,6 @@ bool wxGetDiskSpace(const wxString& path, wxLongLong *pTotal, wxLongLong *pFree)
             return FALSE;
         }
 
-        // there's a problem with drives larger than 2GB on non Win32!!
-        // let's calculate it, nevertheless....
         wxLongLong lBytesPerCluster = lSectorsPerCluster;
         lBytesPerCluster *= lBytesPerSector;