[newlib-cygwin/main] Cygwin: fhandler_base::open: move O_TRUNC comment into O_TRUNC case

Corinna Vinschen via Cygwin-cvs <[email protected]>
Newsgroups gmane.os.cygwin.cvs
Message-ID <[email protected]>
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=9e6193576f341f1d1a8caefb7a4ae4b7b5407e74

commit 9e6193576f341f1d1a8caefb7a4ae4b7b5407e74
Author:     Corinna Vinschen <[email protected]>
AuthorDate: Tue Apr 8 15:54:42 2025 +0200
Commit:     Corinna Vinschen <[email protected]>
CommitDate: Tue Apr 8 16:06:20 2025 +0200

    Cygwin: fhandler_base::open: move O_TRUNC comment into O_TRUNC case
    
    Signed-off-by: Corinna Vinschen <[email protected]>

Diff:
---
 winsup/cygwin/fhandler/base.cc | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/winsup/cygwin/fhandler/base.cc b/winsup/cygwin/fhandler/base.cc
index 36d814bf3543..32aca2c51a62 100644
--- a/winsup/cygwin/fhandler/base.cc
+++ b/winsup/cygwin/fhandler/base.cc
@@ -769,18 +769,17 @@ fhandler_base::open (int flags, mode_t mode)
 	set_created_file_access (fh, pc, mode);
     }
 
-  /* If you O_TRUNC a file on Linux, the data is truncated, but the EAs are
-     preserved.  If you open a file on Windows with FILE_OVERWRITE{_IF} or
-     FILE_SUPERSEDE, all streams are truncated, including the EAs.  So we don't
-     use the FILE_OVERWRITE{_IF} flags, but instead just open the file and set
-     the size of the data stream explicitely to 0.  Apart from being more Linux
-     compatible, this implementation has the pleasant side-effect to be more
-     than 5% faster than using FILE_OVERWRITE{_IF} (tested on W7 32 bit). */
   if ((flags & O_TRUNC)
       && (flags & O_ACCMODE) != O_RDONLY
       && io.Information != FILE_CREATED
       && get_device () == FH_FS)
     {
+      /* If you O_TRUNC a file on Linux, the data is truncated, but the EAs are
+	 preserved.  If you open a file on Windows with FILE_OVERWRITE{_IF} or
+	 FILE_SUPERSEDE, all streams are truncated, including the EAs.  So we
+	 don't use FILE_OVERWRITE{_IF} but just open the file and truncate the
+	 data stream to size 0.  Apart from being more Linux compatible, this
+	 has the pleasant side-effect to be more than 5% faster. */
       FILE_END_OF_FILE_INFORMATION feofi = { EndOfFile:{ QuadPart:0 } };
       status = NtSetInformationFile (fh, &io, &feofi, sizeof feofi,
 				     FileEndOfFileInformation);
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.