mirror of
https://github.com/golang/go
synced 2024-11-24 10:10:07 -07:00
path: Fix Glob when it finds a file in directory position.
When searching a list of directories, the files which match the pattern are accumulated in a slice. If the glob has a wildcard for the directory, and the wildcard matches a file rather than a directory, then the files found so far are discarded. E.g., path.Glob("*/x") in a directory which contains both files and subdirectories. This patch avoids discarding matches found so far when a file is found. R=r CC=bsiegert, golang-dev https://golang.org/cl/3015042
This commit is contained in:
parent
194dde22c3
commit
be0b649eb1
@ -240,9 +240,13 @@ func Glob(pattern string) (matches []string) {
|
||||
// glob searches for files matching pattern in the directory dir
|
||||
// and appends them to matches.
|
||||
func glob(dir, pattern string, matches []string) []string {
|
||||
if fi, err := os.Stat(dir); err != nil || !fi.IsDirectory() {
|
||||
fi, err := os.Stat(dir)
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
if !fi.IsDirectory() {
|
||||
return matches
|
||||
}
|
||||
d, err := os.Open(dir, os.O_RDONLY, 0666)
|
||||
if err != nil {
|
||||
return nil
|
||||
|
Loading…
Reference in New Issue
Block a user