diff options
author | Hein-Pieter van Braam <hp@tmm.cx> | 2017-09-07 00:15:11 +0200 |
---|---|---|
committer | Hein-Pieter van Braam <hp@tmm.cx> | 2017-09-07 00:26:17 +0200 |
commit | cbedb544086e77abc367b900a244e4f29baa74dd (patch) | |
tree | 1ea298b2207ec6737d9a9eff168050da66591f95 /drivers | |
parent | 0b8fa1e01068af9924742ade2625e021ccd2c5a8 (diff) |
Fix EOF in wav file importer
In #10973 I reset the state of the stream in get_pos() assuming that the
ftell failing would cause proper error checking. This is not how this
class was designed, however. This commit fixes the get_8() method to
not return unitialized data on eof, and removes the wrong error resets
added in #10973.
This fixes #11022
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/unix/file_access_unix.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/unix/file_access_unix.cpp b/drivers/unix/file_access_unix.cpp index db06cce644..80565c5b02 100644 --- a/drivers/unix/file_access_unix.cpp +++ b/drivers/unix/file_access_unix.cpp @@ -164,7 +164,6 @@ void FileAccessUnix::seek_end(int64_t p_position) { ERR_FAIL_COND(!f); - last_error = OK; if (fseek(f, p_position, SEEK_END)) check_errors(); } @@ -173,7 +172,6 @@ size_t FileAccessUnix::get_pos() const { ERR_FAIL_COND_V(!f, 0); - last_error = OK; int pos = ftell(f); if (pos < 0) { check_errors(); @@ -207,8 +205,8 @@ uint8_t FileAccessUnix::get_8() const { uint8_t b; if (fread(&b, 1, 1, f) == 0) { check_errors(); - }; - + b = '\0'; + } return b; } |