mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-03-21 11:38:34 -04:00
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
This commit is contained in:
parent
1a0cbd4d9d
commit
7b7ef610b5
@ -2,6 +2,7 @@
|
||||
|
||||
#include <cstring>
|
||||
#include <numeric>
|
||||
#include <algorithm>
|
||||
|
||||
#include <qendian.h>
|
||||
#include <QAudioFormat>
|
||||
@ -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)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user