From af88b4d2a8b0fb1e67bb5a1be5b2f0dab8b1f8a8 Mon Sep 17 00:00:00 2001 From: Dmytro Maluka Date: Sun, 6 Oct 2024 16:55:58 +0200 Subject: [PATCH] Fix error reporting when saving with sudo failed When saving a file with sudo fails (e.g. if we set `sucmd` to a non-existent binary, e.g. `set sucmd aaa`), we erroneously return success instead of the error, as a result we report to the user that that the file has been successfully saved. Fix it. --- internal/buffer/save.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/buffer/save.go b/internal/buffer/save.go index e0239435..af1d9deb 100644 --- a/internal/buffer/save.go +++ b/internal/buffer/save.go @@ -48,13 +48,13 @@ func overwriteFile(name string, enc encoding.Encoding, fn func(io.Writer) error, // need to start the process now, otherwise when we flush the file // contents to its stdin it might hang because the kernel's pipe size // is too small to handle the full file contents all at once - if e := cmd.Start(); e != nil && err == nil { + if err = cmd.Start(); err != nil { screen.TempStart(screenb) signal.Notify(util.Sigterm, os.Interrupt) signal.Stop(c) - return err + return } } else if writeCloser, err = os.OpenFile(name, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0666); err != nil { return