diff options
Diffstat (limited to 'src/pkg/os/dir_linux.go')
-rw-r--r-- | src/pkg/os/dir_linux.go | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/src/pkg/os/dir_linux.go b/src/pkg/os/dir_linux.go index 84f87007e..09aad6367 100644 --- a/src/pkg/os/dir_linux.go +++ b/src/pkg/os/dir_linux.go @@ -56,21 +56,13 @@ func (file *File) Readdirnames(count int) (names []string, err Error) { if dirent.Ino == 0 { // File absent in directory. continue } - bytes := (*[len(dirent.Name)]byte)(unsafe.Pointer(&dirent.Name[0])) + bytes := (*[10000]byte)(unsafe.Pointer(&dirent.Name[0])) var name = string(bytes[0:clen(bytes[0:])]) if name == "." || name == ".." { // Useless names continue } count-- - if len(names) == cap(names) { - nnames := make([]string, len(names), 2*len(names)) - for i := 0; i < len(names); i++ { - nnames[i] = names[i] - } - names = nnames - } - names = names[0 : len(names)+1] - names[len(names)-1] = name + names = append(names, name) } } return names, nil |