winfile: fix narrowing error with gcc if LARGE_INTEGER is a union (nw)

This commit is contained in:
cracyc 2016-03-18 13:17:07 -05:00
parent 81212cd856
commit a03a06380d

View File

@ -57,7 +57,8 @@ public:
virtual error read(void *buffer, std::uint64_t offset, std::uint32_t length, std::uint32_t &actual) override
{
// attempt to set the file pointer
LARGE_INTEGER largeOffset = { offset };
LARGE_INTEGER largeOffset;
largeOffset.QuadPart = offset;
DWORD result(SetFilePointerEx(m_handle, largeOffset, NULL, FILE_BEGIN));
if (INVALID_SET_FILE_POINTER == result)
{
@ -77,7 +78,8 @@ public:
virtual error write(void const *buffer, std::uint64_t offset, std::uint32_t length, std::uint32_t &actual) override
{
// attempt to set the file pointer
LARGE_INTEGER largeOffset = { offset };
LARGE_INTEGER largeOffset;
largeOffset.QuadPart = offset;
DWORD result(SetFilePointerEx(m_handle, largeOffset, NULL, FILE_BEGIN));
if (INVALID_SET_FILE_POINTER == result)
{
@ -97,7 +99,8 @@ public:
virtual error truncate(std::uint64_t offset) override
{
// attempt to set the file pointer
LARGE_INTEGER largeOffset = { offset };
LARGE_INTEGER largeOffset;
largeOffset.QuadPart = offset;
DWORD const result(SetFilePointerEx(m_handle, largeOffset, NULL, FILE_BEGIN));
if (INVALID_SET_FILE_POINTER == result)
{