diff options
Diffstat (limited to 'src/pkg/os/dir_unix.go')
-rw-r--r-- | src/pkg/os/dir_unix.go | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/pkg/os/dir_unix.go b/src/pkg/os/dir_unix.go index 9c543838e..7835ed52b 100644 --- a/src/pkg/os/dir_unix.go +++ b/src/pkg/os/dir_unix.go @@ -32,11 +32,11 @@ func (f *File) Readdirnames(n int) (names []string, err Error) { f.dirinfo.buf = make([]byte, blockSize) } d := f.dirinfo - wantAll := n < 0 size := n - if size < 0 { + if size <= 0 { size = 100 + n = -1 } names = make([]string, 0, size) // Empty with room to grow. @@ -60,7 +60,7 @@ func (f *File) Readdirnames(n int) (names []string, err Error) { d.bufp += nb n -= nc } - if !wantAll && len(names) == 0 { + if n >= 0 && len(names) == 0 { return names, EOF } return names, nil |