mirror of
https://github.com/dart-lang/sdk
synced 2024-10-03 06:21:30 +00:00
Fix EOF detection when reading an entire file
Closes #25596 BUG= https://github.com/dart-lang/sdk/issues/25596 R=kustermann@google.com Review URL: https://codereview.chromium.org/1651023003 .
This commit is contained in:
parent
a49249b18f
commit
ca7ee2b6cd
|
@ -446,8 +446,8 @@ class _File extends FileSystemEntity implements File {
|
|||
var completer = new Completer();
|
||||
void read() {
|
||||
file.read(_BLOCK_SIZE).then((data) {
|
||||
if (data.length > 0) builder.add(data);
|
||||
if (data.length == _BLOCK_SIZE) {
|
||||
if (data.length > 0) {
|
||||
builder.add(data);
|
||||
read();
|
||||
} else {
|
||||
completer.complete(builder.takeBytes());
|
||||
|
@ -480,7 +480,7 @@ class _File extends FileSystemEntity implements File {
|
|||
do {
|
||||
data = opened.readSync(_BLOCK_SIZE);
|
||||
if (data.length > 0) builder.add(data);
|
||||
} while (data.length == _BLOCK_SIZE);
|
||||
} while (data.length > 0);
|
||||
data = builder.takeBytes();
|
||||
} else {
|
||||
data = opened.readSync(length);
|
||||
|
|
Loading…
Reference in a new issue