return FALSE;
}
+ // ULARGE_INTEGER is a union of a 64 bit value and a struct containing
+ // two 32 bit fields which may be or may be not named - try to make it
+ // compile in all cases
+#if defined(__BORLANDC__) && !defined(_ANONYMOUS_STRUCT)
+ #define UL(ul) ul.u
+#else // anon union
+ #define UL(ul) ul
+#endif
if ( pTotal )
{
- *pTotal = wxLongLong(bytesTotal.HighPart, bytesTotal.LowPart);
+ *pTotal = wxLongLong(UL(bytesTotal).HighPart, UL(bytesTotal).LowPart);
}
if ( pFree )
{
- *pFree = wxLongLong(bytesFree.HighPart, bytesFree.LowPart);
+ *pFree = wxLongLong(UL(bytesFree).HighPart, UL(bytesFree).LowPart);
}
}
else
int wxGetOsVersion(int *majorVsn, int *minorVsn)
{
#if defined(__WIN32__) && !defined(__SC__)
- OSVERSIONINFO info;
- wxZeroMemory(info);
-
- info.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
- if ( ::GetVersionEx(&info) )
+ static int ver = -1, major = -1, minor = -1;
+
+ if ( ver == -1 )
{
- if (majorVsn)
- *majorVsn = info.dwMajorVersion;
- if (minorVsn)
- *minorVsn = info.dwMinorVersion;
+ OSVERSIONINFO info;
+ wxZeroMemory(info);
- switch ( info.dwPlatformId )
+ ver = wxWINDOWS;
+ info.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+ if ( ::GetVersionEx(&info) )
{
- case VER_PLATFORM_WIN32s:
- return wxWIN32S;
+ major = info.dwMajorVersion;
+ minor = info.dwMinorVersion;
- case VER_PLATFORM_WIN32_WINDOWS:
- return wxWIN95;
+ switch ( info.dwPlatformId )
+ {
+ case VER_PLATFORM_WIN32s:
+ ver = wxWIN32S;
+ break;
- case VER_PLATFORM_WIN32_NT:
- return wxWINDOWS_NT;
+ case VER_PLATFORM_WIN32_WINDOWS:
+ ver = wxWIN95;
+ break;
+
+ case VER_PLATFORM_WIN32_NT:
+ ver = wxWINDOWS_NT;
+ break;
+ }
}
}
- return wxWINDOWS; // error if we get here, return generic value
+ if (majorVsn && major != -1)
+ *majorVsn = major;
+ if (minorVsn && minor != -1)
+ *minorVsn = minor;
+
+ return ver;
#else // Win16
int retValue = wxWINDOWS;
#ifdef __WINDOWS_386__
// deprecated (in favour of wxLog) log functions
// ----------------------------------------------------------------------------
-#if wxUSE_GUI
+#if WXWIN_COMPATIBILITY_2_2
// Output a debug mess., in a system dependent fashion.
#ifndef __WXMICROWIN__
}
#endif // __WXMICROWIN__
+#endif // WXWIN_COMPATIBILITY_2_2
+
+#if wxUSE_GUI
+
// ----------------------------------------------------------------------------
// functions to work with .INI files
// ----------------------------------------------------------------------------
#endif // Win16/32
}
-#endif // wxUSE_GUI
-
-#if wxUSE_GUI
-
// ----------------------------------------------------------------------------
// Metafile helpers
// ----------------------------------------------------------------------------