diff options
author | Stefan Hoffmann <stefan991@gmail.com> | 2014-08-08 16:53:03 +0200 |
---|---|---|
committer | Stefan Hoffmann <stefan991@gmail.com> | 2014-08-31 15:22:38 +0200 |
commit | e85fe0957d40080f43cbfcbe9eb8864475325b09 (patch) | |
tree | 092fff1b7ebe4fe394216cae67c3340473dcace2 /src/nvim/fileio.c | |
parent | aa378acdf51daf235c7e721cfa646d115d8708f0 (diff) | |
download | rneovim-e85fe0957d40080f43cbfcbe9eb8864475325b09.tar.gz rneovim-e85fe0957d40080f43cbfcbe9eb8864475325b09.tar.bz2 rneovim-e85fe0957d40080f43cbfcbe9eb8864475325b09.zip |
fileinfo: implement os_fileinfo_hardlinks
Diffstat (limited to 'src/nvim/fileio.c')
-rw-r--r-- | src/nvim/fileio.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/nvim/fileio.c b/src/nvim/fileio.c index 245590e7ce..b2d27bd0d1 100644 --- a/src/nvim/fileio.c +++ b/src/nvim/fileio.c @@ -2712,7 +2712,7 @@ buf_write ( * - it's a symbolic link * - we don't have write permission in the directory */ - if (file_info_old.stat.st_nlink > 1 + if (os_fileinfo_hardlinks(&file_info_old) > 1 || !os_get_file_info_link((char *)fname, &file_info) || !os_file_info_id_equal(&file_info, &file_info_old)) { backup_copy = TRUE; @@ -2770,7 +2770,7 @@ buf_write ( /* Hardlinks. */ if ((bkc_flags & BKC_BREAKHARDLINK) - && file_info_old.stat.st_nlink > 1 + && os_fileinfo_hardlinks(&file_info_old) > 1 && (!file_info_link_ok || os_file_info_id_equal(&file_info, &file_info_old))) { backup_copy = FALSE; @@ -3201,7 +3201,7 @@ nobackup: FileInfo file_info; /* Don't delete the file when it's a hard or symbolic link. */ - if ((!newfile && file_info_old.stat.st_nlink > 1) + if ((!newfile && os_fileinfo_hardlinks(&file_info) > 1) || (os_get_file_info_link((char *)fname, &file_info) && !os_file_info_id_equal(&file_info, &file_info_old))) { errmsg = (char_u *)_("E166: Can't open linked file for writing"); |