From: Brad Fitzpatrick Date: Wed, 4 Nov 2020 19:52:43 +0000 (-0800) Subject: os: remove unused variable in unix implementation of File.readdir X-Git-Tag: go1.16beta1~322 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=8ab8125fbd70e439f677c37832a678e6ce1067d7;p=gostls13.git os: remove unused variable in unix implementation of File.readdir Change-Id: I0dd8a325bce6ed12d1ec1dc206ded62398925aef Reviewed-on: https://go-review.googlesource.com/c/go/+/267758 Run-TryBot: Brad Fitzpatrick Reviewed-by: Emmanuel Odeke Reviewed-by: Ian Lance Taylor TryBot-Result: Go Bot Trust: Brad Fitzpatrick Trust: Emmanuel Odeke --- diff --git a/src/os/dir_unix.go b/src/os/dir_unix.go index 3e5a698350..0e1eab1c96 100644 --- a/src/os/dir_unix.go +++ b/src/os/dir_unix.go @@ -36,9 +36,16 @@ func (f *File) readdir(n int, mode readdirMode) (names []string, dirents []DirEn } d := f.dirinfo - size := n - if size <= 0 { - size = 100 + // Change the meaning of n for the implementation below. + // + // The n above was for the public interface of "if n <= 0, + // Readdir returns all the FileInfo from the directory in a + // single slice". + // + // But below, we use only negative to mean looping until the + // end and positive to mean bounded, with positive + // terminating at 0. + if n == 0 { n = -1 } @@ -88,7 +95,9 @@ func (f *File) readdir(n int, mode readdirMode) (names []string, dirents []DirEn if string(name) == "." || string(name) == ".." { continue } - n-- + if n > 0 { // see 'n == 0' comment above + n-- + } if mode == readdirName { names = append(names, string(name)) } else if mode == readdirDirEntry {