RagePhoto: add int to char
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Syping 2020-11-08 20:53:43 +01:00
parent b70396f77e
commit b3e1520a8f
2 changed files with 19 additions and 2 deletions

View file

@ -20,7 +20,6 @@
#include <QJsonDocument> #include <QJsonDocument>
#include <QTextCodec> #include <QTextCodec>
#include <QBuffer> #include <QBuffer>
#include <QDebug>
#include <QFile> #include <QFile>
RagePhoto::RagePhoto(const QByteArray &data) : p_fileData(data) RagePhoto::RagePhoto(const QByteArray &data) : p_fileData(data)
@ -232,7 +231,7 @@ bool RagePhoto::load()
} }
else if (format == PhotoFormat::G5EX) { else if (format == PhotoFormat::G5EX) {
char formatHeader[4]; char formatHeader[4];
qint64 size = dataBuffer.read(formatHeader, 4); size = dataBuffer.read(formatHeader, 4);
if (size != 4) if (size != 4)
return false; return false;
quint32 format = charToUInt32LE(formatHeader); quint32 format = charToUInt32LE(formatHeader);
@ -437,3 +436,19 @@ quint32 RagePhoto::charToUInt32LE(char *x)
{ {
return (((unsigned char)x[3] << 24) | ((unsigned char)x[2] << 16) | ((unsigned char)x[1] << 8) | ((unsigned char)x[0])); return (((unsigned char)x[3] << 24) | ((unsigned char)x[2] << 16) | ((unsigned char)x[1] << 8) | ((unsigned char)x[0]));
} }
void RagePhoto::uInt32ToCharBE(quint32 *x, char *y)
{
y[0] = (*x >> 24) & 0xFF;
y[1] = (*x >> 16) & 0xFF;
y[2] = (*x >> 8) & 0xFF;
y[3] = (*x) & 0xFF;
}
void RagePhoto::uInt32ToCharLE(quint32 *x, char *y)
{
y[0] = (*x) & 0xFF;
y[1] = (*x >> 8) & 0xFF;
y[2] = (*x >> 16) & 0xFF;
y[3] = (*x >> 24) & 0xFF;
}

View file

@ -58,6 +58,8 @@ public:
private: private:
inline quint32 charToUInt32BE(char *x); inline quint32 charToUInt32BE(char *x);
inline quint32 charToUInt32LE(char *x); inline quint32 charToUInt32LE(char *x);
inline void uInt32ToCharBE(quint32 *x, char *y);
inline void uInt32ToCharLE(quint32 *x, char *y);
QJsonObject p_jsonObject; QJsonObject p_jsonObject;
QByteArray p_fileData; QByteArray p_fileData;
QByteArray p_photoData; QByteArray p_photoData;