diff options
Diffstat (limited to 'src/pkg/os/dir_plan9.go')
-rw-r--r-- | src/pkg/os/dir_plan9.go | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/src/pkg/os/dir_plan9.go b/src/pkg/os/dir_plan9.go deleted file mode 100644 index 8195c02a4..000000000 --- a/src/pkg/os/dir_plan9.go +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright 2009 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package os - -import ( - "io" - "syscall" -) - -func (file *File) readdir(n int) ([]FileInfo, error) { - // If this file has no dirinfo, create one. - if file.dirinfo == nil { - file.dirinfo = new(dirInfo) - } - d := file.dirinfo - size := n - if size <= 0 { - size = 100 - n = -1 - } - fi := make([]FileInfo, 0, size) // Empty with room to grow. - for n != 0 { - // Refill the buffer if necessary. - if d.bufp >= d.nbuf { - nb, err := file.Read(d.buf[:]) - - // Update the buffer state before checking for errors. - d.bufp, d.nbuf = 0, nb - - if err != nil { - if err == io.EOF { - break - } - return fi, &PathError{"readdir", file.name, err} - } - if nb < syscall.STATFIXLEN { - return fi, &PathError{"readdir", file.name, syscall.ErrShortStat} - } - } - - // Get a record from the buffer. - b := d.buf[d.bufp:] - m := int(uint16(b[0])|uint16(b[1])<<8) + 2 - if m < syscall.STATFIXLEN { - return fi, &PathError{"readdir", file.name, syscall.ErrShortStat} - } - - dir, err := syscall.UnmarshalDir(b[:m]) - if err != nil { - return fi, &PathError{"readdir", file.name, err} - } - fi = append(fi, fileInfoFromStat(dir)) - - d.bufp += m - n-- - } - - if n >= 0 && len(fi) == 0 { - return fi, io.EOF - } - return fi, nil -} - -func (file *File) readdirnames(n int) (names []string, err error) { - fi, err := file.Readdir(n) - names = make([]string, len(fi)) - for i := range fi { - names[i] = fi[i].Name() - } - return -} |