From 50b830faa5ff2aab454e3dbc8a8161c0240fdc60 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 20 Apr 2025 23:18:49 +0530 Subject: [PATCH] DRYer --- tools/utils/tar.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/tools/utils/tar.go b/tools/utils/tar.go index 9b6cf6ece..25f7838d8 100644 --- a/tools/utils/tar.go +++ b/tools/utils/tar.go @@ -29,13 +29,13 @@ func ExtractAllFromTar(tr *tar.Reader, dest_path string, optss ...TarExtractOpti return } - mode := func(hdr *tar.Header) fs.FileMode { - return fs.FileMode(hdr.Mode) & (fs.ModePerm | fs.ModeSetgid | fs.ModeSetuid | fs.ModeSticky) + mode := func(hdr int64) fs.FileMode { + return fs.FileMode(hdr) & (fs.ModePerm | fs.ModeSetgid | fs.ModeSetuid | fs.ModeSticky) } - set_metadata := func(chmod func(mode fs.FileMode) error, hdr *tar.Header) (err error) { + set_metadata := func(chmod func(mode fs.FileMode) error, hdr_mode int64) (err error) { if !opts.DontPreservePermissions && chmod != nil { - perms := mode(hdr) + perms := mode(hdr_mode) if err = chmod(perms); err != nil { return err } @@ -76,7 +76,7 @@ func ExtractAllFromTar(tr *tar.Reader, dest_path string, optss ...TarExtractOpti if err != nil { return } - if err = set_metadata(func(m fs.FileMode) error { return os.Chmod(dest, m) }, hdr); err != nil { + if err = set_metadata(func(m fs.FileMode) error { return os.Chmod(dest, m) }, hdr.Mode); err != nil { return } case tar.TypeReg: @@ -87,7 +87,7 @@ func ExtractAllFromTar(tr *tar.Reader, dest_path string, optss ...TarExtractOpti if d, err = os.Create(dest); err != nil { return } - err = set_metadata(d.Chmod, hdr) + err = set_metadata(d.Chmod, hdr.Mode) if err == nil { _, err = io.Copy(d, tr) } @@ -110,7 +110,7 @@ func ExtractAllFromTar(tr *tar.Reader, dest_path string, optss ...TarExtractOpti if err = os.Link(link_target, dest); err != nil { return } - if err = set_metadata(func(m fs.FileMode) error { return os.Chmod(dest, m) }, hdr); err != nil { + if err = set_metadata(func(m fs.FileMode) error { return os.Chmod(dest, m) }, hdr.Mode); err != nil { return } case tar.TypeSymlink: @@ -128,7 +128,7 @@ func ExtractAllFromTar(tr *tar.Reader, dest_path string, optss ...TarExtractOpti if err = os.Symlink(link_target, dest); err != nil { return } - if err = set_metadata(nil, hdr); err != nil { + if err = set_metadata(nil, hdr.Mode); err != nil { return } }