diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2014-12-23 03:35:20 -0500 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2014-12-23 03:35:20 -0500 |
commit | bac6fb41b2754324ec719130271b66ccf4d0ea9e (patch) | |
tree | 8cbe24ace600fe7f234dcaf6f07b24e260180093 /src/nvim/fileio.c | |
parent | 4e28e1aeb6d931aad9b0521fac4b055083ae182b (diff) | |
parent | 7e31044cd8c0a0f3333dd53c70f4f28957d8514d (diff) | |
download | rneovim-bac6fb41b2754324ec719130271b66ccf4d0ea9e.tar.gz rneovim-bac6fb41b2754324ec719130271b66ccf4d0ea9e.tar.bz2 rneovim-bac6fb41b2754324ec719130271b66ccf4d0ea9e.zip |
Merge pull request #1712 from fwalch/vim-7.4.456
vim-patch:7.4.456
Diffstat (limited to 'src/nvim/fileio.c')
-rw-r--r-- | src/nvim/fileio.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/nvim/fileio.c b/src/nvim/fileio.c index 9c6d7c96bb..82613f5b07 100644 --- a/src/nvim/fileio.c +++ b/src/nvim/fileio.c @@ -2313,6 +2313,7 @@ buf_write ( #endif int write_undo_file = FALSE; context_sha256_T sha_ctx; + unsigned int bkc = get_bkc_value(buf); if (fname == NULL || *fname == NUL) /* safety check */ return FAIL; @@ -2701,9 +2702,9 @@ buf_write ( if (!(append && *p_pm == NUL) && !filtering && perm >= 0 && dobackup) { FileInfo file_info; - if ((bkc_flags & BKC_YES) || append) { /* "yes" */ + if ((bkc & BKC_YES) || append) { /* "yes" */ backup_copy = TRUE; - } else if ((bkc_flags & BKC_AUTO)) { /* "auto" */ + } else if ((bkc & BKC_AUTO)) { /* "auto" */ int i; # ifdef UNIX @@ -2758,19 +2759,19 @@ buf_write ( /* * Break symlinks and/or hardlinks if we've been asked to. */ - if ((bkc_flags & BKC_BREAKSYMLINK) || (bkc_flags & BKC_BREAKHARDLINK)) { + if ((bkc & BKC_BREAKSYMLINK) || (bkc & BKC_BREAKHARDLINK)) { # ifdef UNIX bool file_info_link_ok = os_fileinfo_link((char *)fname, &file_info); /* Symlinks. */ - if ((bkc_flags & BKC_BREAKSYMLINK) + if ((bkc & BKC_BREAKSYMLINK) && file_info_link_ok && !os_fileinfo_id_equal(&file_info, &file_info_old)) { backup_copy = FALSE; } /* Hardlinks. */ - if ((bkc_flags & BKC_BREAKHARDLINK) + if ((bkc & BKC_BREAKHARDLINK) && os_fileinfo_hardlinks(&file_info_old) > 1 && (!file_info_link_ok || os_fileinfo_id_equal(&file_info, &file_info_old))) { |