From 7b7ef610b51b7df0de19062f60d3b52009f0741c Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Sat, 2 Jan 2016 19:10:16 +0000 Subject: [PATCH] Fix integer size and sign issues WAV files use 32-bit sizes so casts are needed on 64-bit files systems git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6340 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- Audio/WavFile.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Audio/WavFile.cpp b/Audio/WavFile.cpp index 89b2c5947..43e1085cf 100644 --- a/Audio/WavFile.cpp +++ b/Audio/WavFile.cpp @@ -2,6 +2,7 @@ #include #include +#include #include #include @@ -24,7 +25,7 @@ namespace { if (id) { - auto len = std::min (4u, strlen (id)); + auto len = std::min (size_t (4), strlen (id)); memcpy (id_.data (), id, len); memset (id_.data () + len, ' ', 4u - len); } @@ -183,7 +184,7 @@ bool WavFile::read_header () { if (!file_.seek (0)) return false; Desc outer_desc; - auto outer_offset = file_.pos (); + quint32 outer_offset = file_.pos (); quint32 outer_size {0}; bool be {false}; while (outer_offset < sizeof outer_desc + outer_desc.size_ - 1) // allow for uncounted pad @@ -200,7 +201,7 @@ bool WavFile::read_header () { // WAVE Desc wave_desc; - auto wave_offset = file_.pos (); + quint32 wave_offset = file_.pos (); quint32 wave_size {0}; while (wave_offset < outer_offset + sizeof outer_desc + outer_size - 1) { @@ -232,7 +233,7 @@ bool WavFile::read_header () if (!memcmp (list_type, "INFO", 4)) { Desc info_desc; - auto info_offset = file_.pos (); + quint32 info_offset = file_.pos (); quint32 info_size {0}; while (info_offset < wave_offset + sizeof wave_desc + wave_size - 1) {