diff options
author | Daniel Milde <daniel@milde.cz> | 2024-04-30 15:56:23 +0200 |
---|---|---|
committer | Daniel Milde <daniel@milde.cz> | 2024-04-30 15:56:23 +0200 |
commit | ce2cbca84e94dc6ae4ec3790786f468a3ef1bfe6 (patch) | |
tree | d9159ad3e967f735dbf56de2a02645b2cb8c6e65 | |
parent | ca00034c59f7f2237b429a4d7b499e03721702c0 (diff) |
refactor: non-pointer type
-rw-r--r-- | pkg/analyze/parallel.go | 15 | ||||
-rw-r--r-- | pkg/analyze/sequential.go | 5 |
2 files changed, 13 insertions, 7 deletions
diff --git a/pkg/analyze/parallel.go b/pkg/analyze/parallel.go index 1488e60..7fa517a 100644 --- a/pkg/analyze/parallel.go +++ b/pkg/analyze/parallel.go @@ -140,12 +140,15 @@ func (a *ParallelAnalyzer) processDir(path string) *Dir { continue } if a.followSymlinks && info.Mode()&os.ModeSymlink != 0 { - err = followSymlink(entryPath, &info) + infoF, err := followSymlink(entryPath) if err != nil { log.Print(err.Error()) dir.Flag = '!' continue } + if infoF != nil { + info = infoF + } } file = &File{ @@ -217,17 +220,17 @@ func getFlag(f os.FileInfo) rune { return ' ' } -func followSymlink(path string, f *os.FileInfo) error { +func followSymlink(path string) (os.FileInfo, error) { target, err := filepath.EvalSymlinks(path) if err != nil { - return err + return nil, err } tInfo, err := os.Lstat(target) if err != nil { - return err + return nil, err } if !tInfo.IsDir() { - *f = tInfo + return tInfo, nil } - return nil + return nil, nil } diff --git a/pkg/analyze/sequential.go b/pkg/analyze/sequential.go index 77fbd44..507ebfd 100644 --- a/pkg/analyze/sequential.go +++ b/pkg/analyze/sequential.go @@ -127,12 +127,15 @@ func (a *SequentialAnalyzer) processDir(path string) *Dir { continue } if a.followSymlinks && info.Mode()&os.ModeSymlink != 0 { - err = followSymlink(entryPath, &info) + infoF, err := followSymlink(entryPath) if err != nil { log.Print(err.Error()) dir.Flag = '!' continue } + if infoF != nil { + info = infoF + } } file = &File{ |