consider symlinks to directories when pushing to scan stack

https://github.com/karrick/godirwalk/pull/45
https://github.com/sentriz/gonic/issues/27
This commit is contained in:
sentriz
2020-01-28 23:53:26 +00:00
parent 47411b4169
commit bdee11dfb6
3 changed files with 8 additions and 4 deletions

2
go.mod
View File

@@ -14,7 +14,7 @@ require (
github.com/imdario/mergo v0.3.7 // indirect
github.com/jinzhu/gorm v1.9.9
github.com/josephburnett/jd v0.0.0-20190531151850-1f9071c800e7
github.com/karrick/godirwalk v1.10.12
github.com/karrick/godirwalk v1.15.2
github.com/kr/pretty v0.1.0 // indirect
github.com/nicksellen/audiotags v0.0.0-20160226222119-94015fa599bd
github.com/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c

4
go.sum
View File

@@ -85,8 +85,8 @@ github.com/josephburnett/jd v0.0.0-20190531151850-1f9071c800e7 h1:/sW5BavO4uIUSq
github.com/josephburnett/jd v0.0.0-20190531151850-1f9071c800e7/go.mod h1:aeV+6oc13ogwzcRNHBe4vbyLmoQxMfEDoqyqCU9oE30=
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
github.com/karrick/godirwalk v1.10.12 h1:BqUm+LuJcXjGv1d2mj3gBiQyrQ57a0rYoAmhvJQ7RDU=
github.com/karrick/godirwalk v1.10.12/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA=
github.com/karrick/godirwalk v1.15.2 h1:9EyFg+JbwMCTmGSfT919rfaGgWvY3fZQ3rO9Wu83pk8=
github.com/karrick/godirwalk v1.15.2/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk=
github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=

View File

@@ -200,7 +200,11 @@ func (s *Scanner) callbackItem(fullPath string, info *godirwalk.Dirent) error {
filename: filename,
stat: stat,
}
if info.IsDir() {
isDir, err := info.IsDirOrSymlinkToDir()
if err != nil {
return errors.Wrap(err, "stating link to dir")
}
if isDir {
return s.handleFolder(it)
}
lowerFilename := strings.ToLower(filename)