patch 8.2.2450: MS-Windows: ADS was not preserved if 'backupcopy' is "yes"
Problem: MS-Windows: ADS was not preserved if 'backupcopy' is "yes".
Solution: Copy ADS before truncating the file. (Ken Takata, closes #7762)
diff --git a/src/bufwrite.c b/src/bufwrite.c
index d7c74de..c7c832c 100644
--- a/src/bufwrite.c
+++ b/src/bufwrite.c
@@ -1497,6 +1497,9 @@
#if defined(HAVE_SELINUX) || defined(HAVE_SMACK)
mch_copy_sec(fname, backup);
#endif
+#ifdef MSWIN
+ (void)mch_copy_file_attribute(fname, backup);
+#endif
break;
}
}
@@ -1909,12 +1912,7 @@
#if defined(MSWIN)
if (backup != NULL && overwriting && !append)
- {
- if (backup_copy)
- (void)mch_copy_file_attribute(wfname, backup);
- else
- (void)mch_copy_file_attribute(backup, wfname);
- }
+ (void)mch_copy_file_attribute(backup, wfname);
if (!overwriting && !append)
{