1
0
Fork 0
forked from suyu/suyu

file_util: Avoid sign-conversions in WriteArray() and ReadArray()

Prevents compiler warnings.
This commit is contained in:
Lioncash 2018-08-07 13:47:14 -04:00
parent c392650e21
commit 0735a0c8a1

View file

@ -8,6 +8,7 @@
#include <cstdio> #include <cstdio>
#include <fstream> #include <fstream>
#include <functional> #include <functional>
#include <limits>
#include <string> #include <string>
#include <string_view> #include <string_view>
#include <type_traits> #include <type_traits>
@ -210,8 +211,9 @@ public:
static_assert(std::is_trivially_copyable<T>(), static_assert(std::is_trivially_copyable<T>(),
"Given array does not consist of trivially copyable objects"); "Given array does not consist of trivially copyable objects");
if (!IsOpen()) if (!IsOpen()) {
return -1; return std::numeric_limits<size_t>::max();
}
return std::fread(data, sizeof(T), length, m_file); return std::fread(data, sizeof(T), length, m_file);
} }
@ -220,8 +222,10 @@ public:
size_t WriteArray(const T* data, size_t length) { size_t WriteArray(const T* data, size_t length) {
static_assert(std::is_trivially_copyable<T>(), static_assert(std::is_trivially_copyable<T>(),
"Given array does not consist of trivially copyable objects"); "Given array does not consist of trivially copyable objects");
if (!IsOpen()) if (!IsOpen()) {
return -1; return std::numeric_limits<size_t>::max();
}
return std::fwrite(data, sizeof(T), length, m_file); return std::fwrite(data, sizeof(T), length, m_file);
} }