aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/watchutils.cpp
diff options
context:
space:
mode:
authorhjk <[email protected]>2010-03-05 11:10:58 +0100
committerhjk <[email protected]>2010-03-05 11:11:20 +0100
commited4278aba315a1c0184ce01adde430cf6ee27224 (patch)
treefef6f49d5d1d7be176e259b0af247f6cb15fe275 /src/plugins/debugger/watchutils.cpp
parent72ecc8a4fae0d4eda2847a41bea79bdebf69602d (diff)
debugger: fix new wstring dumper encoding
Diffstat (limited to 'src/plugins/debugger/watchutils.cpp')
-rw-r--r--src/plugins/debugger/watchutils.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/plugins/debugger/watchutils.cpp b/src/plugins/debugger/watchutils.cpp
index 8137b4744d9..51c45ef7833 100644
--- a/src/plugins/debugger/watchutils.cpp
+++ b/src/plugins/debugger/watchutils.cpp
@@ -646,13 +646,20 @@ QString decodeData(const QByteArray &ba, int encoding)
//qDebug() << quoteUnprintableLatin1(decodedBa) << "\n\n";
return doubleQuote + QString::fromLatin1(decodedBa) + doubleQuote;
}
- case 7: { // %04x encoded 16 bit data
+ case 7: { // %04x encoded 16 bit data, Little Endian
const QChar doubleQuote(QLatin1Char('"'));
const QByteArray decodedBa = QByteArray::fromHex(ba);
//qDebug() << quoteUnprintableLatin1(decodedBa) << "\n\n";
return doubleQuote + QString::fromUtf16(reinterpret_cast<const ushort *>
(decodedBa.data()), decodedBa.size() / 2) + doubleQuote;
}
+ case 8: { // %08x encoded 32 bit data, Little Endian
+ const QChar doubleQuote(QLatin1Char('"'));
+ const QByteArray decodedBa = QByteArray::fromHex(ba);
+ //qDebug() << quoteUnprintableLatin1(decodedBa) << "\n\n";
+ return doubleQuote + QString::fromUcs4(reinterpret_cast<const uint *>
+ (decodedBa.data()), decodedBa.size() / 4) + doubleQuote;
+ }
}
qDebug() << "ENCODING ERROR: " << encoding;
return QCoreApplication::translate("Debugger", "<Encoding error>");