diff --git a/cmd/micro/micro.go b/cmd/micro/micro.go index cf85df20..f3f3be27 100644 --- a/cmd/micro/micro.go +++ b/cmd/micro/micro.go @@ -250,7 +250,7 @@ func LoadInput(args []string) []*buffer.Buffer { func checkBackup(name string) error { target := filepath.Join(config.ConfigDir, name) - backup := util.AppendBackupSuffix(target) + backup := target + util.BackupSuffix if info, err := os.Stat(backup); err == nil { input, err := os.ReadFile(backup) if err == nil { diff --git a/internal/buffer/backup.go b/internal/buffer/backup.go index 9920897d..838c1f6c 100644 --- a/internal/buffer/backup.go +++ b/internal/buffer/backup.go @@ -104,7 +104,7 @@ func (b *SharedBuffer) writeBackup(path string) (string, error) { } name := util.DetermineEscapePath(backupdir, path) - tmp := util.AppendBackupSuffix(name) + tmp := name + util.BackupSuffix _, err := b.overwriteFile(tmp) if err != nil { diff --git a/internal/util/util.go b/internal/util/util.go index 86351853..81e95314 100644 --- a/internal/util/util.go +++ b/internal/util/util.go @@ -54,6 +54,8 @@ var ( // To be used for file writes before umask is applied const FileMode os.FileMode = 0666 +const BackupSuffix = ".micro-backup" + const OverwriteFailMsg = `An error occurred while writing to the file: %s @@ -447,10 +449,6 @@ func GetModTime(path string) (time.Time, error) { return info.ModTime(), nil } -func AppendBackupSuffix(path string) string { - return path + ".micro-backup" -} - func HashStringMd5(str string) string { return fmt.Sprintf("%x", md5.Sum([]byte(str))) } @@ -487,7 +485,7 @@ func DetermineEscapePath(dir string, path string) string { return legacy } - if len(url)+len(".micro-backup") > 255 { + if len(url)+len(BackupSuffix) > 255 { return filepath.Join(dir, HashStringMd5(path)) } @@ -708,7 +706,7 @@ func SafeWrite(path string, bytes []byte, rename bool) error { defer file.Close() } - tmp := AppendBackupSuffix(path) + tmp := path + BackupSuffix err = os.WriteFile(tmp, bytes, FileMode) if err != nil { os.Remove(tmp)