From: 徐志伟 Date: Tue, 6 Apr 2021 04:56:32 +0000 (+0000) Subject: embed, testing/fstest: small optimization for ReadDir X-Git-Tag: go1.17beta1~798 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=d6aa162f30;p=gostls13.git embed, testing/fstest: small optimization for ReadDir Change-Id: If8dc6d917b55119b5662ce5b0b87328d220d684d GitHub-Last-Rev: cc9a1d5a7e2599ee7f98c61d35b2450b9b6a92c3 GitHub-Pull-Request: golang/go#45388 Reviewed-on: https://go-review.googlesource.com/c/go/+/307250 Run-TryBot: Ian Lance Taylor TryBot-Result: Go Bot Reviewed-by: Ian Lance Taylor Trust: Tobias Klauser --- diff --git a/src/embed/embed.go b/src/embed/embed.go index 7f2719d2a7..851cc216fc 100644 --- a/src/embed/embed.go +++ b/src/embed/embed.go @@ -386,15 +386,15 @@ func (d *openDir) Read([]byte) (int, error) { func (d *openDir) ReadDir(count int) ([]fs.DirEntry, error) { n := len(d.files) - d.offset - if count > 0 && n > count { - n = count - } if n == 0 { if count <= 0 { return nil, nil } return nil, io.EOF } + if count > 0 && n > count { + n = count + } list := make([]fs.DirEntry, n) for i := range list { list[i] = &d.files[d.offset+i] diff --git a/src/testing/fstest/mapfs.go b/src/testing/fstest/mapfs.go index a5d4a23fac..9fef2f4696 100644 --- a/src/testing/fstest/mapfs.go +++ b/src/testing/fstest/mapfs.go @@ -223,12 +223,12 @@ func (d *mapDir) Read(b []byte) (int, error) { func (d *mapDir) ReadDir(count int) ([]fs.DirEntry, error) { n := len(d.entry) - d.offset - if count > 0 && n > count { - n = count - } if n == 0 && count > 0 { return nil, io.EOF } + if count > 0 && n > count { + n = count + } list := make([]fs.DirEntry, n) for i := range list { list[i] = &d.entry[d.offset+i]