From: Russ Cox Date: Fri, 19 Sep 2014 01:50:22 +0000 (-0400) Subject: path/filepath: document that Glob ignores i/o errors X-Git-Tag: go1.4beta1~345 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=54b63f06478d390d69fc826a16ab19dc6b5d5503;p=gostls13.git path/filepath: document that Glob ignores i/o errors Fixes #8008. LGTM=adg R=golang-codereviews, nightlyone, adg CC=golang-codereviews https://golang.org/cl/138630045 --- diff --git a/src/path/filepath/match.go b/src/path/filepath/match.go index a9bcc103c5..ecc07aa5da 100644 --- a/src/path/filepath/match.go +++ b/src/path/filepath/match.go @@ -228,6 +228,9 @@ func getEsc(chunk string) (r rune, nchunk string, err error) { // as in Match. The pattern may describe hierarchical names such as // /usr/*/bin/ed (assuming the Separator is '/'). // +// Glob ignores file system errors such as I/O errors reading directories. +// The only possible returned error is ErrBadPattern, when pattern +// is malformed. func Glob(pattern string) (matches []string, err error) { if !hasMeta(pattern) { if _, err = os.Lstat(pattern); err != nil { @@ -283,10 +286,7 @@ func glob(dir, pattern string, matches []string) (m []string, e error) { } defer d.Close() - names, err := d.Readdirnames(-1) - if err != nil { - return - } + names, _ := d.Readdirnames(-1) sort.Strings(names) for _, n := range names {