aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/disassemblerlines.cpp
diff options
context:
space:
mode:
authorhjk <[email protected]>2011-09-02 09:34:25 +0200
committerhjk <[email protected]>2011-09-02 09:35:36 +0200
commit8c4d35c1443795dad88feca3a64b49d50dfe8d3a (patch)
tree33f8914bab15cf657c7337d0fb2cfa3fe40bb450 /src/plugins/debugger/disassemblerlines.cpp
parented842542a5ca6a2ff700c70996856210ab666eef (diff)
debugger: fix optical glitch for first instruction in disassembled function
Change-Id: I956e4b7b8afee843e1a282a0b8488fa9465faf06 Reviewed-on: http://codereview.qt.nokia.com/4117 Reviewed-by: hjk <[email protected]>
Diffstat (limited to 'src/plugins/debugger/disassemblerlines.cpp')
-rw-r--r--src/plugins/debugger/disassemblerlines.cpp21
1 files changed, 10 insertions, 11 deletions
diff --git a/src/plugins/debugger/disassemblerlines.cpp b/src/plugins/debugger/disassemblerlines.cpp
index 4beee54169e..81289913a3f 100644
--- a/src/plugins/debugger/disassemblerlines.cpp
+++ b/src/plugins/debugger/disassemblerlines.cpp
@@ -45,7 +45,7 @@ void DisassemblerLine::fromString(const QString &unparsed)
{
int pos = -1;
for (int i = 0; i != unparsed.size(); ++i) {
- uint c = unparsed.at(i).unicode();
+ const uint c = unparsed.at(i).unicode();
if (c == ' ' || c == ':' || c == '\t') {
pos = i;
break;
@@ -66,8 +66,9 @@ void DisassemblerLine::fromString(const QString &unparsed)
addr.chop(1);
if (addr.startsWith(QLatin1String("0x")))
addr.remove(0, 2);
- address = addr.toULongLong(0, 16);
- if (address)
+ bool ok = false;
+ address = addr.toULongLong(&ok, 16);
+ if (ok)
data = unparsed.mid(pos + 1);
else
data = unparsed;
@@ -112,7 +113,7 @@ void DisassemblerLines::appendLine(const DisassemblerLine &dl)
m_rowCache[dl.address] = m_data.size();
}
-// Append source line: Cache current file
+// Append source line: Cache current file.
struct SourceFileCache
{
QString fileName;
@@ -126,7 +127,7 @@ void DisassemblerLines::appendSourceLine(const QString &fileName, uint lineNumbe
if (fileName.isEmpty() || lineNumber == 0)
return;
- lineNumber--; // fix 1..n range.
+ lineNumber--; // Fix 1..n range.
SourceFileCache *cache = sourceFileCache();
if (fileName != cache->fileName) {
cache->fileName = fileName;
@@ -135,8 +136,8 @@ void DisassemblerLines::appendSourceLine(const QString &fileName, uint lineNumbe
if (file.open(QIODevice::ReadOnly)) {
QTextStream ts(&file);
cache->lines = ts.readAll().split(QLatin1Char('\n'));
- } // open
- } // different file
+ }
+ }
if (lineNumber >= uint(cache->lines.size()))
return;
DisassemblerLine dl;
@@ -177,7 +178,6 @@ void DisassemblerLines::appendUnparsed(const QString &unparsed)
m_data.append(dl);
m_lastFunction = function;
}
- //line.replace(pos1, pos2 - pos1, "");
}
DisassemblerLine dl;
dl.address = line.left(pos1 - 1).toULongLong(0, 0);
@@ -200,9 +200,8 @@ QString DisassemblerLine::toString() const
QString str;
if (isAssembler()) {
if (address)
- str += _("0x%1 ").arg(address, 0, 16);
- if (offset)
- str += _("<+0x%1> ").arg(offset, 4, 16, QLatin1Char('0'));
+ str += _("0x%1 <+0x%1> ").arg(offset, 4, 16, QLatin1Char('0'))
+ .arg(address, 0, 16);
str += _(" ");
str += data;
} else if (isCode()) {