|
@@ -121,6 +121,9 @@ _read :: proc(f: ^File, p: []byte) -> (i64, Error) {
|
|
if n < 0 {
|
|
if n < 0 {
|
|
return -1, _get_platform_error(n)
|
|
return -1, _get_platform_error(n)
|
|
}
|
|
}
|
|
|
|
+ if n == 0 {
|
|
|
|
+ return 0, .EOF
|
|
|
|
+ }
|
|
return i64(n), nil
|
|
return i64(n), nil
|
|
}
|
|
}
|
|
|
|
|
|
@@ -135,6 +138,9 @@ _read_at :: proc(f: ^File, p: []byte, offset: i64) -> (n: i64, err: Error) {
|
|
if m < 0 {
|
|
if m < 0 {
|
|
return -1, _get_platform_error(m)
|
|
return -1, _get_platform_error(m)
|
|
}
|
|
}
|
|
|
|
+ if m == 0 {
|
|
|
|
+ return 0, .EOF
|
|
|
|
+ }
|
|
n += i64(m)
|
|
n += i64(m)
|
|
b = b[m:]
|
|
b = b[m:]
|
|
offset += i64(m)
|
|
offset += i64(m)
|