It looks like a Qt bug:
bool QTextStreamPrivate::putNumber(qulonglong number, bool negative)
{
if (negative)
switch (integerBase) {
default: break;
}
}
tmp
+= QString::number(number, integerBase ? integerBase
: 10);
if (numberFlags
& QTextStream::UppercaseBase) // <--- this is wrong tmp = tmp.toUpper(); // ### in-place instead
return putString(tmp);
}
bool QTextStreamPrivate::putNumber(qulonglong number, bool negative)
{
QString tmp;
if (negative)
tmp = QLatin1Char('-');
else if (numberFlags & QTextStream::ForceSign)
tmp = QLatin1Char('+');
if (numberFlags & QTextStream::ShowBase) {
switch (integerBase) {
case 2: tmp += QLatin1String("0b"); break;
case 8: tmp += QLatin1String("0"); break;
case 16: tmp += QLatin1String("0x"); break;
default: break;
}
}
tmp += QString::number(number, integerBase ? integerBase : 10);
if (numberFlags & QTextStream::UppercaseBase) // <--- this is wrong
tmp = tmp.toUpper(); // ### in-place instead
return putString(tmp);
}
To copy to clipboard, switch view to plain text mode
Bookmarks