summaryrefslogtreecommitdiff
path: root/src/common/file_util.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/file_util.cpp')
-rw-r--r--src/common/file_util.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/common/file_util.cpp b/src/common/file_util.cpp
index 28a16077d..45b750e1e 100644
--- a/src/common/file_util.cpp
+++ b/src/common/file_util.cpp
@@ -974,6 +974,34 @@ bool IOFile::Flush() {
974 return IsOpen() && 0 == std::fflush(m_file); 974 return IsOpen() && 0 == std::fflush(m_file);
975} 975}
976 976
977std::size_t IOFile::ReadImpl(void* data, std::size_t length, std::size_t data_size) const {
978 if (!IsOpen()) {
979 return std::numeric_limits<std::size_t>::max();
980 }
981
982 if (length == 0) {
983 return 0;
984 }
985
986 DEBUG_ASSERT(data != nullptr);
987
988 return std::fread(data, data_size, length, m_file);
989}
990
991std::size_t IOFile::WriteImpl(const void* data, std::size_t length, std::size_t data_size) {
992 if (!IsOpen()) {
993 return std::numeric_limits<std::size_t>::max();
994 }
995
996 if (length == 0) {
997 return 0;
998 }
999
1000 DEBUG_ASSERT(data != nullptr);
1001
1002 return std::fwrite(data, data_size, length, m_file);
1003}
1004
977bool IOFile::Resize(u64 size) { 1005bool IOFile::Resize(u64 size) {
978 return IsOpen() && 0 == 1006 return IsOpen() && 0 ==
979#ifdef _WIN32 1007#ifdef _WIN32