mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-05-24 10:22:26 -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 <cstring>
|
||||||
#include <numeric>
|
#include <numeric>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
#include <qendian.h>
|
#include <qendian.h>
|
||||||
#include <QAudioFormat>
|
#include <QAudioFormat>
|
||||||
@ -24,7 +25,7 @@ namespace
|
|||||||
{
|
{
|
||||||
if (id)
|
if (id)
|
||||||
{
|
{
|
||||||
auto len = std::min (4u, strlen (id));
|
auto len = std::min (size_t (4), strlen (id));
|
||||||
memcpy (id_.data (), id, len);
|
memcpy (id_.data (), id, len);
|
||||||
memset (id_.data () + len, ' ', 4u - len);
|
memset (id_.data () + len, ' ', 4u - len);
|
||||||
}
|
}
|
||||||
@ -183,7 +184,7 @@ bool WavFile::read_header ()
|
|||||||
{
|
{
|
||||||
if (!file_.seek (0)) return false;
|
if (!file_.seek (0)) return false;
|
||||||
Desc outer_desc;
|
Desc outer_desc;
|
||||||
auto outer_offset = file_.pos ();
|
quint32 outer_offset = file_.pos ();
|
||||||
quint32 outer_size {0};
|
quint32 outer_size {0};
|
||||||
bool be {false};
|
bool be {false};
|
||||||
while (outer_offset < sizeof outer_desc + outer_desc.size_ - 1) // allow for uncounted pad
|
while (outer_offset < sizeof outer_desc + outer_desc.size_ - 1) // allow for uncounted pad
|
||||||
@ -200,7 +201,7 @@ bool WavFile::read_header ()
|
|||||||
{
|
{
|
||||||
// WAVE
|
// WAVE
|
||||||
Desc wave_desc;
|
Desc wave_desc;
|
||||||
auto wave_offset = file_.pos ();
|
quint32 wave_offset = file_.pos ();
|
||||||
quint32 wave_size {0};
|
quint32 wave_size {0};
|
||||||
while (wave_offset < outer_offset + sizeof outer_desc + outer_size - 1)
|
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))
|
if (!memcmp (list_type, "INFO", 4))
|
||||||
{
|
{
|
||||||
Desc info_desc;
|
Desc info_desc;
|
||||||
auto info_offset = file_.pos ();
|
quint32 info_offset = file_.pos ();
|
||||||
quint32 info_size {0};
|
quint32 info_size {0};
|
||||||
while (info_offset < wave_offset + sizeof wave_desc + wave_size - 1)
|
while (info_offset < wave_offset + sizeof wave_desc + wave_size - 1)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user