Skip to content
Snippets Groups Projects
Commit a3a9b104 authored by Jabar Asadi's avatar Jabar Asadi Committed by Gopher Robot
Browse files

os: ReadFile: don't check for re-allocation in the first iteration

At the beginning of the for-loop iteration cap(data) > len(data) always.
Therefore, in the first iteration, this check becomes unnecessary.
we can move this check to after the read operation.

Change-Id: I205e4a842ced74f31124b45a39b70523b56ad840
GitHub-Last-Rev: 2fdf25dff2e9984d3a8f8e5e612ea802c88e88a1
GitHub-Pull-Request: golang/go#60473
Reviewed-on: https://go-review.googlesource.com/c/go/+/498915


Reviewed-by: default avatarRob Pike <r@golang.org>
Reviewed-by: default avatarBryan Mills <bcmills@google.com>
Run-TryBot: Rob Pike <r@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Ian Lance Taylor <iant@google.com>
Reviewed-by: default avatarIan Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
parent df0a1297
No related branches found
No related tags found
No related merge requests found
...@@ -725,10 +725,6 @@ func ReadFile(name string) ([]byte, error) { ...@@ -725,10 +725,6 @@ func ReadFile(name string) ([]byte, error) {
data := make([]byte, 0, size) data := make([]byte, 0, size)
for { for {
if len(data) >= cap(data) {
d := append(data[:cap(data)], 0)
data = d[:len(data)]
}
n, err := f.Read(data[len(data):cap(data)]) n, err := f.Read(data[len(data):cap(data)])
data = data[:len(data)+n] data = data[:len(data)+n]
if err != nil { if err != nil {
...@@ -737,6 +733,11 @@ func ReadFile(name string) ([]byte, error) { ...@@ -737,6 +733,11 @@ func ReadFile(name string) ([]byte, error) {
} }
return data, err return data, err
} }
if len(data) >= cap(data) {
d := append(data[:cap(data)], 0)
data = d[:len(data)]
}
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment