From 2dac5e644796bbd5174a5d846c25950edec3b95e Mon Sep 17 00:00:00 2001 From: hjk <qtc-committer@nokia.com> Date: Wed, 28 Jan 2009 15:17:55 +0100 Subject: [PATCH] Fixes: debugger: display quotes around strings in locals view --- share/qtcreator/gdbmacros/gdbmacros.cpp | 2 +- src/plugins/debugger/gdbengine.cpp | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/share/qtcreator/gdbmacros/gdbmacros.cpp b/share/qtcreator/gdbmacros/gdbmacros.cpp index f6cc8f95ede..5576b36c6f2 100644 --- a/share/qtcreator/gdbmacros/gdbmacros.cpp +++ b/share/qtcreator/gdbmacros/gdbmacros.cpp @@ -555,7 +555,7 @@ void QDumper::addCommaIfNeeded() put(','); } -void QDumper::putBase64Encoded(const char *buf, int n) +void QDumper::putBase64Encoded(const char *buf, int n, char delim) { const char alphabet[] = "ABCDEFGH" "IJKLMNOP" "QRSTUVWX" "YZabcdef" "ghijklmn" "opqrstuv" "wxyz0123" "456789+/"; diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp index 177df2e2c59..1924de93038 100644 --- a/src/plugins/debugger/gdbengine.cpp +++ b/src/plugins/debugger/gdbengine.cpp @@ -2761,14 +2761,17 @@ static void setWatchDataValue(WatchData &data, const GdbMi &mi, break; case 1: // base64 encoded 8 bit data ba = QByteArray::fromBase64(mi.data()); + ba = '"' + ba + '"'; break; case 2: // base64 encoded 16 bit data ba = QByteArray::fromBase64(mi.data()); ba = QString::fromUtf16((ushort *)ba.data(), ba.size() / 2).toUtf8(); + ba = '"' + ba + '"'; break; case 3: // base64 encoded 32 bit data ba = QByteArray::fromBase64(mi.data()); ba = QString::fromUcs4((uint *)ba.data(), ba.size() / 4).toUtf8(); + ba = '"' + ba + '"'; break; } data.setValue(ba); @@ -3550,14 +3553,10 @@ void GdbEngine::handleDumpCustomValue2(const GdbResultRecord &record, data1.iname = data.iname + "." + data1.name; if (!data1.name.isEmpty() && data1.name.at(0).isDigit()) data1.name = '[' + data1.name + ']'; - //qDebug() << "NAMEENCODED: " << item.findChild("nameencoded").data() - // << item.findChild("nameencoded").data()[1]; - if (item.findChild("nameencoded").data()[0] == '1') - data1.name = QByteArray::fromBase64(data1.name.toUtf8()); QString key = item.findChild("key").data(); if (!key.isEmpty()) { if (item.findChild("keyencoded").data()[0] == '1') - key = QByteArray::fromBase64(key.toUtf8()); + key = '"' + QByteArray::fromBase64(key.toUtf8()) + '"'; data1.name += " (" + key + ")"; } setWatchDataType(data1, item.findChild("type")); -- GitLab