From e691cfe83dfebee66c722bea567d120bbfb19113 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Fri, 14 Aug 2015 17:15:40 +0200 Subject: [PATCH] Fix ZIP64 code compilation under 64 bit Unix platforms. Calling wxDataOutputStream::Write64() with a wxFileOffset argument is ambiguous as wxFileOffset is neither wxInt64 nor wxUint64, so cast it to one of them (it doesn't matter which) explicitly. --- src/common/zipstrm.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/common/zipstrm.cpp b/src/common/zipstrm.cpp index 7003836a93..cc7fb0b8de 100644 --- a/src/common/zipstrm.cpp +++ b/src/common/zipstrm.cpp @@ -1118,8 +1118,8 @@ size_t wxZipEntry::WriteLocal(wxOutputStream& stream, wxMBConv& conv) const { ds.Write16(1); // id ds.Write16(16); // record size - ds.Write64(m_CompressedSize); - ds.Write64(m_Size); + ds.Write64(static_cast(m_CompressedSize)); + ds.Write64(static_cast(m_Size)); } if (GetLocalExtraLen()) stream.Write(m_LocalExtra->GetData(), GetLocalExtraLen()); @@ -1244,11 +1244,11 @@ size_t wxZipEntry::WriteCentral(wxOutputStream& stream, wxMBConv& conv) const ds.Write16(1); // tag ds.Write16(z64InfoLen); // record size if (m_CompressedSize > 0xffffffff) - ds.Write64(m_CompressedSize); + ds.Write64(static_cast(m_CompressedSize)); if (m_Size > 0xffffffff) - ds.Write64(m_Size); + ds.Write64(static_cast(m_Size)); if (m_Offset > 0xffffffff) - ds.Write64(m_Offset); + ds.Write64(static_cast(m_Offset)); } if (GetExtraLen()) stream.Write(GetExtra(), GetExtraLen()); @@ -1403,7 +1403,7 @@ bool wxZipEndRec::Write(wxOutputStream& stream, wxMBConv& conv) const // Write zip64 end of central directory locator ds.Write32(Z64_LOC_MAGIC); ds.Write32(m_StartDisk); - ds.Write64(z64endOffset); + ds.Write64(static_cast(z64endOffset)); ds.Write32(1); // total number of disks }