1 // Copyright 2009 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
5 // +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
13 func (f
*File
) readdir(n
int) (fi
[]FileInfo
, err error
) {
18 names
, err
:= f
.Readdirnames(n
)
19 fi
= make([]FileInfo
, 0, len(names
))
20 for _
, filename
:= range names
{
21 fip
, lerr
:= lstat(dirname
+ "/" + filename
)
23 // File disappeared between readdir + stat.
24 // Just treat it as if it didn't exist.
32 if len(fi
) == 0 && err
== nil && n
> 0 {
33 // Per File.Readdir, the slice must be non-empty or err
34 // must be non-nil if n > 0.