changeset 12918:8ba2a921cd86 v8.0.1335

patch 8.0.1335: writefile() using fsync() may give an error. commit https://github.com/vim/vim/commit/291a9d15ed1eb1094edc8ad6dda00a6da3bd7072 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Nov 25 14:37:11 2017 +0100 patch 8.0.1335: writefile() using fsync() may give an error. Problem: Writefile() using fsync() may give an error for a device. (Yasuhiro Matsumoto) Solution: Ignore fsync() failing. (closes #2373)
author Christian Brabandt <cb@256bit.org>
date Sat, 25 Nov 2017 14:45:04 +0100
parents f4f2426f5a01
children ddb76d6af5de
files src/evalfunc.c src/version.c
diffstat 2 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -13449,8 +13449,10 @@ f_writefile(typval_T *argvars, typval_T 
 	if (write_list(fd, list, binary) == FAIL)
 	    ret = -1;
 #ifdef HAVE_FSYNC
-	else if (do_fsync && fsync(fileno(fd)) != 0)
-	    EMSG(_(e_fsync));
+	else if (do_fsync)
+	    /* Ignore the error, the user wouldn't know what to do about it.
+	     * May happen for a device. */
+	    ignored = fsync(fileno(fd));
 #endif
 	fclose(fd);
     }
--- a/src/version.c
+++ b/src/version.c
@@ -772,6 +772,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1335,
+/**/
     1334,
 /**/
     1333,