From 0c0d5dd273150b28cb0c46d32c7ca7f62c2bcc5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20T=C5=AFma?= Date: Fri, 25 Apr 2025 00:41:21 +0200 Subject: [PATCH] Revert "Micro-optimizations" This reverts commit f90ac6a37efa6480194912440cc0e034dd06cf81. --- src/map/ENC/iso8211.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/map/ENC/iso8211.cpp b/src/map/ENC/iso8211.cpp index 1cbd462f..5ee607de 100644 --- a/src/map/ENC/iso8211.cpp +++ b/src/map/ENC/iso8211.cpp @@ -91,16 +91,15 @@ bool ISO8211::readDDA(const FieldDefinition &def, SubFields &fields) { static const QRegularExpression re( "([0-9]*)(A|I|R|B|b11|b12|b14|b21|b22|b24)\\(*([0-9]*)\\)*"); - char buffer[def.size]; + QByteArray ba(def.size, Qt::Initialization::Uninitialized); bool repeat = false; QVector defs; QVector defTags; - if (!(_file.seek(def.pos) && _file.read(buffer, def.size) == def.size)) + if (!(_file.seek(def.pos) && _file.read(ba.data(), ba.size()) == ba.size())) return false; - QList list(QByteArray::fromRawData(buffer, def.size) - .split('\x1f')); + QList list(ba.split('\x1f')); if (!list.at(1).isEmpty() && list.at(1).front() == '*') { repeat = true; list[1].remove(0, 1); @@ -193,14 +192,15 @@ bool ISO8211::readDDR() bool ISO8211::readUDA(quint64 pos, const FieldDefinition &def, const QVector &fields, bool repeat, Data &data) { - char ba[def.size]; + QByteArray ba(def.size, Qt::Initialization::Uninitialized); - if (!(_file.seek(pos + def.pos) && _file.read(ba, def.size) == def.size)) + if (!(_file.seek(pos + def.pos) + && _file.read(ba.data(), ba.size()) == ba.size())) return false; const char *sp; - const char *dp = ba; - const char *ep = ba + def.size - 1; + const char *dp = ba.constData(); + const char *ep = ba.constData() + ba.size() - 1; do { QVector row(fields.size());