From: Benjamin Bihler Date: Thu, 11 Jul 2019 09:16:12 +0000 (+0200) Subject: 0030403: Application Framework - Overwriting Big BinOcaf Files Does Not Reduce Their... X-Git-Tag: V7_4_0_beta~82 X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=718d07fe5ed14424ed88195c91c4d52fbcc84065;p=occt-copy.git 0030403: Application Framework - Overwriting Big BinOcaf Files Does Not Reduce Their Size OSD_OpenFileDescriptor(), added truncating flag to fopen() flags for std::ios_base::out, since truncating is implied by C++ output flag. This fixes misbehavior of OSD_OpenStream() on MinGW-w64 platform. --- diff --git a/src/OSD/OSD_OpenFile.cxx b/src/OSD/OSD_OpenFile.cxx index ba8db4b724..72b54b08ea 100644 --- a/src/OSD/OSD_OpenFile.cxx +++ b/src/OSD/OSD_OpenFile.cxx @@ -34,14 +34,12 @@ static int OSD_OpenFile_iosMode2FileFlags (::std::ios_base::openmode theMode) { aFlags |= O_WRONLY; aFlags |= O_CREAT; + aFlags |= O_TRUNC; + if (theMode & ::std::ios_base::app) { aFlags |= O_APPEND; } - if (theMode & ::std::ios_base::trunc) - { - aFlags |= O_TRUNC; - } } #ifdef _WIN32 if (theMode & ::std::ios_base::binary)