summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builds/windows/ftsystem.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/builds/windows/ftsystem.c b/builds/windows/ftsystem.c
index ac1d2e78c..65c37aa61 100644
--- a/builds/windows/ftsystem.c
+++ b/builds/windows/ftsystem.c
@@ -226,7 +226,15 @@
return FT_THROW( Cannot_Open_Resource );
}
+#if defined _WIN32_WCE || defined _WIN32_WINDOWS || \
+ (defined _WIN32_WINNT && _WIN32_WINNT <= 0x0400)
+ /* Use GetFileSize() for legacy Windows */
+ size.u.LowPart = GetFileSize( file, (DWORD *)&size.u.HighPart );
+ if ( size.u.LowPart == INVALID_FILE_SIZE && GetLastError() != NO_ERROR )
+#else
+ /* Use GetFileSizeEx() for modern Windows */
if ( GetFileSizeEx( file, &size ) == FALSE )
+#endif
{
FT_ERROR(( "FT_Stream_Open:" ));
FT_ERROR(( " could not retrieve size of file `%s'\n", filepathname ));