commit faf5227bc5ee587c3f03a97443a5e2e3e722db74
parent bc33539b11d78b82ed04a91f28f5de9dbd02aa0b
Author: Benno Schulenberg <bensberg@justemail.net>
Date: Wed, 18 May 2016 13:18:07 +0200
files: remove a superfluous condition, and do not ignore a "No"
Having just opened a fresh buffer, 'openfile->next' will never be NULL,
because the list is circular.
Second, when compiled with --disable-nultibuffer, and deciding not to
override an existing lock, the 'return FALSE' should *not* be skipped,
because otherwise the named file will be opened after all.
This fixes an unreported bug.
Diffstat:
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/src/files.c b/src/files.c
@@ -456,14 +456,13 @@ bool open_buffer(const char *filename, bool undoable)
if (has_valid_path(realname)) {
#ifndef NANO_TINY
if (ISSET(LOCKING) && filename[0] != '\0') {
+ /* When not overriding an existing lock, discard the buffer. */
if (do_lockfile(realname) < 0) {
#ifndef DISABLE_MULTIBUFFER
- if (openfile->next) {
- close_buffer();
- free(realname);
- return FALSE;
- }
+ close_buffer();
#endif
+ free(realname);
+ return FALSE;
}
}
#endif /* !NANO_TINY */