eval: Do not allocate FileDescriptor

This commit is contained in:
ZyX
2017-04-01 22:26:50 +03:00
parent cc4523013f
commit 19690d4a25

View File

@@ -17439,21 +17439,21 @@ static void f_writefile(typval_T *argvars, typval_T *rettv, FunPtr fptr)
if (fname == NULL) { if (fname == NULL) {
return; return;
} }
FileDescriptor *fp; FileDescriptor fp;
int error; int error;
rettv->vval.v_number = -1; rettv->vval.v_number = -1;
if (*fname == NUL) { if (*fname == NUL) {
EMSG(_("E482: Can't open file with an empty name")); EMSG(_("E482: Can't open file with an empty name"));
} else if ((fp = file_open_new(&error, fname, } else if ((error = file_open(&fp, fname,
((append ? kFileAppend : kFileTruncate) ((append ? kFileAppend : kFileTruncate)
| kFileCreate), 0666)) == NULL) { | kFileCreate), 0666)) != 0) {
emsgf(_("E482: Can't open file %s for writing: %s"), emsgf(_("E482: Can't open file %s for writing: %s"),
fname, os_strerror(error)); fname, os_strerror(error));
} else { } else {
if (write_list(fp, argvars[0].vval.v_list, binary)) { if (write_list(&fp, argvars[0].vval.v_list, binary)) {
rettv->vval.v_number = 0; rettv->vval.v_number = 0;
} }
if ((error = file_free(fp)) != 0) { if ((error = file_close(&fp)) != 0) {
emsgf(_("E80: Error when closing file %s: %s"), emsgf(_("E80: Error when closing file %s: %s"),
fname, os_strerror(error)); fname, os_strerror(error));
} }