Port QtDebugUtils::toPrintable() to qint64/qsizetype
Some callers pass qint64 arguments to the len parameter, so take the size as qint64, not qsizetype, to avoid silent truncation. Pick-to: 6.4 6.3 6.2 Task-number: QTBUG-103525 Change-Id: I4bc5673297f24aea0cfc9d20887dc8a877743214 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
This commit is contained in:
parent
52c5f28695
commit
bcc32bc112
@ -24,15 +24,16 @@ using QtMiscUtils::fromHex;
|
||||
|
||||
/*
|
||||
Returns a human readable representation of the first \a maxSize
|
||||
characters in \a data.
|
||||
characters in \a data. The size, \a len, is a 64-bit quantity to
|
||||
avoid truncation due to implicit conversions in callers.
|
||||
*/
|
||||
QByteArray QtDebugUtils::toPrintable(const char *data, int len, int maxSize)
|
||||
QByteArray QtDebugUtils::toPrintable(const char *data, qint64 len, qsizetype maxSize)
|
||||
{
|
||||
if (!data)
|
||||
return "(null)";
|
||||
|
||||
QByteArray out;
|
||||
for (int i = 0; i < qMin(len, maxSize); ++i) {
|
||||
for (qsizetype i = 0; i < qMin(len, maxSize); ++i) {
|
||||
char c = data[i];
|
||||
if (isprint(c)) {
|
||||
out += c;
|
||||
|
@ -25,7 +25,7 @@ QT_BEGIN_NAMESPACE
|
||||
|
||||
namespace QtDebugUtils {
|
||||
|
||||
Q_CORE_EXPORT QByteArray toPrintable(const char *data, int len, int maxSize);
|
||||
Q_CORE_EXPORT QByteArray toPrintable(const char *data, qint64 len, qsizetype maxSize);
|
||||
|
||||
// inline helpers for formatting basic classes.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user