nsfwapp/backend/file_ops_other.go
2026-06-23 08:49:37 +02:00

47 lines
721 B
Go

//go:build !windows
package main
import (
"io"
"os"
)
func moveFile(src, dst string) error {
if err := os.Rename(src, dst); err == nil {
return nil
} else {
in, err2 := os.Open(src)
if err2 != nil {
return err
}
defer in.Close()
out, err2 := os.Create(dst)
if err2 != nil {
return err
}
if _, err2 := io.Copy(out, in); err2 != nil {
_ = out.Close()
return err2
}
if err2 := out.Close(); err2 != nil {
return err2
}
return os.Remove(src)
}
}
func isSharingViolation(err error) bool {
_ = err
return false
}
func removeWithRetry(path string) error {
return os.Remove(path)
}
func renameWithRetry(oldPath, newPath string) error {
return os.Rename(oldPath, newPath)
}