diff --git a/src/files.c b/src/files.c index 90d9ed7346cb5d99c485878e06b7a4d301478342..fbf81cfb671f5f9747a72060c7759e65ad0b01a7 100644 --- 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 */