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 <bradfitz@golang.org>
Reviewed-by: Emmanuel Odeke <emmanuel@orijtech.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Trust: Brad Fitzpatrick <bradfitz@golang.org>
Trust: Emmanuel Odeke <emmanuel@orijtech.com>
diff --git a/src/os/dir_unix.go b/src/os/dir_unix.go
index 3e5a698..0e1eab1 100644
--- a/src/os/dir_unix.go
+++ b/src/os/dir_unix.go
@@ -36,9 +36,16 @@
 	}
 	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 @@
 		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 {