--- oce-OCE-0.18.3/src/OSD/OSD_File.cxx.orig	2021-10-29 16:24:53.359999800 +0200
+++ oce-OCE-0.18.3/src/OSD/OSD_File.cxx	2021-10-29 16:25:18.055519000 +0200
@@ -1994,7 +1994,7 @@
  }  // end while
 
 #ifdef VAC
- retVal  = (DWORDLONG) ( ( (unsigned __int64) ((DWORD) buffer + dwBuffSize) ) << 32 );
+ retVal  = (DWORDLONG) ( ( (unsigned __int64) ((DWORD_PTR) buffer + dwBuffSize) ) << 32 );
  retVal = (DWORDLONG) ( (unsigned __int64) retVal & (((unsigned __int64) 0xFFFFFFFF) << 32) );
 #else
  retVal  = (   (  ( DWORDLONG )( ( DWORD )buffer + dwBuffSize )  ) << 32   );
