aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/debuggerprotocol.cpp
diff options
context:
space:
mode:
authorDavid Schulz <[email protected]>2013-11-11 14:19:00 +0100
committerhjk <[email protected]>2013-11-11 14:49:48 +0100
commit9fd8558afb4942a1d5c31e99d505613dddf69460 (patch)
tree8dde616443b6d4d046ae0143bf1c4e6a553d3f90 /src/plugins/debugger/debuggerprotocol.cpp
parent7e869bfa7fa2483736d2f80454fb08b3e6e07161 (diff)
Debugger: Print invalid time classes as "(invalid)"
Is used when QDate, QTime or QDateTime was encoded with the DebuggerEncoding. Change-Id: I45726648d4379bae9230ce6997f073d4638745e3 Reviewed-by: hjk <[email protected]>
Diffstat (limited to 'src/plugins/debugger/debuggerprotocol.cpp')
-rw-r--r--src/plugins/debugger/debuggerprotocol.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/plugins/debugger/debuggerprotocol.cpp b/src/plugins/debugger/debuggerprotocol.cpp
index 1e50d13c3ac..991e83324fc 100644
--- a/src/plugins/debugger/debuggerprotocol.cpp
+++ b/src/plugins/debugger/debuggerprotocol.cpp
@@ -600,17 +600,18 @@ QString decodeData(const QByteArray &ba, int encoding)
}
case JulianDate: { // 14, an integer count
const QDate date = dateFromData(ba.toInt());
- return date.toString(Qt::TextDate);
+ return date.isValid() ? date.toString(Qt::TextDate) : QLatin1String("(invalid)");
}
case MillisecondsSinceMidnight: {
const QTime time = timeFromData(ba.toInt());
- return time.toString(Qt::TextDate);
+ return time.isValid() ? time.toString(Qt::TextDate) : QLatin1String("(invalid)");
}
case JulianDateAndMillisecondsSinceMidnight: {
const int p = ba.indexOf('/');
const QDate date = dateFromData(ba.left(p).toInt());
const QTime time = timeFromData(ba.mid(p + 1 ).toInt());
- return QDateTime(date, time).toString(Qt::TextDate);
+ const QDateTime dateTime = QDateTime(date, time);
+ return dateTime.isValid() ? dateTime.toString(Qt::TextDate) : QLatin1String("(invalid)");
}
case IPv6AddressAndHexScopeId: { // 27, 16 hex-encoded bytes, "%" and the string-encoded scope
const int p = ba.indexOf('%');
@@ -633,7 +634,7 @@ QString decodeData(const QByteArray &ba, int encoding)
QDateTime d;
d.setTimeSpec(Qt::UTC);
d.setMSecsSinceEpoch(ms);
- return d.toString(Qt::TextDate);
+ return d.isValid() ? d.toString(Qt::TextDate) : QLatin1String("(invalid)");
}
}
qDebug() << "ENCODING ERROR: " << encoding;