Commit 7c5688a5 authored by DonLakeFlyer's avatar DonLakeFlyer

Fix endian calls

parent c08574b0
......@@ -25,6 +25,7 @@
#include "LinkManager.h"
#include <QFileInfo>
#include <QtEndian>
const char* LogReplayLinkConfiguration::_logFilenameKey = "logFilename";
......@@ -163,13 +164,13 @@ void LogReplayLink::writeBytes(const char* bytes, qint64 cBytes)
/// @return A Unix timestamp in microseconds UTC for found message or 0 if parsing failed
quint64 LogReplayLink::_parseTimestamp(const QByteArray& bytes)
{
quint64 timestamp = qFromBigEndian<quint64>(*((quint64*)(bytes.constData())));
quint64 timestamp = qFromBigEndian(*((quint64*)(bytes.constData())));
quint64 currentTimestamp = ((quint64)QDateTime::currentMSecsSinceEpoch()) * 1000;
// Now if the parsed timestamp is in the future, it must be an old file where the timestamp was stored as
// little endian, so switch it.
if (timestamp > currentTimestamp) {
timestamp = qbswap<quint64>(timestamp);
timestamp = qbswap(timestamp);
}
return timestamp;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment