fix buffer write performance on Windows and Unix

(cherry picked from commit 8315aa40cc)
This commit is contained in:
Marcin Zawiejski 2018-02-04 13:23:23 +01:00 committed by Hein-Pieter van Braam
parent 65aa9063c4
commit d4a70c6c08
4 changed files with 12 additions and 0 deletions

View file

@ -236,6 +236,11 @@ void FileAccessUnix::store_8(uint8_t p_dest) {
ERR_FAIL_COND(fwrite(&p_dest, 1, 1, f) != 1);
}
void FileAccessUnix::store_buffer(const uint8_t *p_src, int p_length) {
ERR_FAIL_COND(!f);
ERR_FAIL_COND(fwrite(p_src, 1, p_length, f) != p_length);
}
bool FileAccessUnix::file_exists(const String &p_path) {
int err;

View file

@ -75,6 +75,7 @@ public:
virtual void flush();
virtual void store_8(uint8_t p_dest); ///< store a byte
virtual void store_buffer(const uint8_t *p_src, int p_length); ///< store an array of bytes
virtual bool file_exists(const String &p_path); ///< return true if a file exists

View file

@ -232,6 +232,11 @@ void FileAccessWindows::store_8(uint8_t p_dest) {
fwrite(&p_dest, 1, 1, f);
}
void FileAccessWindows::store_buffer(const uint8_t *p_src, int p_length) {
ERR_FAIL_COND(!f);
ERR_FAIL_COND(fwrite(p_src, 1, p_length, f) != p_length);
}
bool FileAccessWindows::file_exists(const String &p_name) {
FILE *g;

View file

@ -67,6 +67,7 @@ public:
virtual void flush();
virtual void store_8(uint8_t p_dest); ///< store a byte
virtual void store_buffer(const uint8_t *p_src, int p_length); ///< store an array of bytes
virtual bool file_exists(const String &p_name); ///< return true if a file exists