From f5abce9df5727904a1daa246025a87c4bfe62553 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Sat, 30 Aug 2025 22:49:12 +0900 Subject: system: wrap op errors This passes more information allowing for better error handling. This eliminates generic WrapErr from system. Signed-off-by: Ophestra --- system/tmpfiles.go | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) (limited to 'system/tmpfiles.go') diff --git a/system/tmpfiles.go b/system/tmpfiles.go index 6ed6e053..44d170f6 100644 --- a/system/tmpfiles.go +++ b/system/tmpfiles.go @@ -40,26 +40,20 @@ func (t *Tmpfile) apply(*I) error { } if b, err := os.Stat(t.src); err != nil { - return wrapErrSuffix(err, - fmt.Sprintf("cannot stat %q:", t.src)) + return newOpError("tmpfile", err, false) } else { if b.IsDir() { - return wrapErrSuffix(syscall.EISDIR, - fmt.Sprintf("%q is a directory", t.src)) + return newOpError("tmpfile", &os.PathError{Op: "stat", Path: t.src, Err: syscall.EISDIR}, false) } if s := b.Size(); s > t.n { - return wrapErrSuffix(syscall.ENOMEM, - fmt.Sprintf("file %q is too long: %d > %d", - t.src, s, t.n)) + return newOpError("tmpfile", &os.PathError{Op: "stat", Path: t.src, Err: syscall.ENOMEM}, false) } } if f, err := os.Open(t.src); err != nil { - return wrapErrSuffix(err, - fmt.Sprintf("cannot open %q:", t.src)) + return newOpError("tmpfile", err, false) } else if _, err = io.CopyN(t.buf, f, t.n); err != nil { - return wrapErrSuffix(err, - fmt.Sprintf("cannot read from %q:", t.src)) + return newOpError("tmpfile", err, false) } *t.payload = t.buf.Bytes() -- cgit v1.3.1