nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit 2cc58882f6f9b8c242c4d51cb59f645a1efb22c1
parent 93f2ea11940998e034f09e0fb2bea798e517c2ff
Author: Chris Allegretta <chrisa@asty.org>
Date:   Sat, 16 Aug 2008 23:54:15 +0000

	* files.c (write_file): Check exit code of fclose(), since in certain out of space conditions the OS will
	  happily report successful fwrite()s until you try and close the file.  Fix for Savannah bug
	  #24000: no free space on partition - nano claims successful write - file empty 



git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4304 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

Diffstat:
MChangeLog | 5+++++
Msrc/files.c | 7+++++--
2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -1,3 +1,8 @@ +2008-08-08 Chris Allegretta <chrisa@asty.org> + * files.c (write_file): Check exit code of fclose(), since in certain out of space conditions the OS will + happily report successful fwrite()s until you try and close the file. Fix for Savannah bug + #24000: no free space on partition - nano claims successful write - file empty + GNU nano 2.1.4 - 2008.08.09 2008-08-08 Chris Allegretta <chrisa@asty.org> * files.c (write_file): Do not go on and attempt to write the main file if writing the backup file failed, diff --git a/src/files.c b/src/files.c @@ -1728,8 +1728,11 @@ bool write_file(const char *name, FILE *f_open, bool tmp, append_type strerror(errno)); goto cleanup_and_exit; } - } else - fclose(f); + } else if (fclose(f) != 0) { + statusbar(_("Error writing %s: %s"), realname, + strerror(errno)); + goto cleanup_and_exit; + } if (!tmp && append == OVERWRITE) { if (!nonamechange) {