diff --git a/src/files.c b/src/files.c index fc2c53908e561ddc1754c2d70ce5589c00ff605c..12e8b181f878c325ad49d5a145437cfe7670fcce 100644 --- a/src/files.c +++ b/src/files.c @@ -1429,8 +1429,13 @@ int write_file(const char *name, FILE *f_open, bool tmp, append_type } /* If we're on the last line of the file, don't write a newline - * character after it. */ - if (fileptr != openfile->filebot) { + * character after it. If the last line of the file is blank, + * this means that zero bytes are written, in which case we + * don't count the last line in the total lines written. */ + if (fileptr == openfile->filebot) { + if (fileptr->data[0] == '\0') + lineswritten--; + } else { #ifndef NANO_SMALL if (openfile->fmt == DOS_FILE || openfile->fmt == MAC_FILE) {