QString/QByteArray::op>>: don't assume clear() makes the container isNull()
This is something we may want to change at some point, so be explicit and assign a null container instead of relying on clear(). Add a comment that was present in the QString, but missing in the QByteArray implementation. Pick-to: 6.5 Task-number: QTBUG-31283 Task-number: QTBUG-60745 Change-Id: I10d82b8a0c67fff314af526c7b7e0f247c3405fd Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
This commit is contained in:
parent
151287fb51
commit
038c1c5978
@ -3222,8 +3222,10 @@ QDataStream &operator>>(QDataStream &in, QByteArray &ba)
|
|||||||
ba.clear();
|
ba.clear();
|
||||||
quint32 len;
|
quint32 len;
|
||||||
in >> len;
|
in >> len;
|
||||||
if (len == 0xffffffff)
|
if (len == 0xffffffff) { // null byte-array
|
||||||
|
ba = QByteArray();
|
||||||
return in;
|
return in;
|
||||||
|
}
|
||||||
|
|
||||||
const quint32 Step = 1024 * 1024;
|
const quint32 Step = 1024 * 1024;
|
||||||
quint32 allocated = 0;
|
quint32 allocated = 0;
|
||||||
|
@ -9245,7 +9245,7 @@ QDataStream &operator>>(QDataStream &in, QString &str)
|
|||||||
quint32 bytes = 0;
|
quint32 bytes = 0;
|
||||||
in >> bytes; // read size of string
|
in >> bytes; // read size of string
|
||||||
if (bytes == 0xffffffff) { // null string
|
if (bytes == 0xffffffff) { // null string
|
||||||
str.clear();
|
str = QString();
|
||||||
} else if (bytes > 0) { // not empty
|
} else if (bytes > 0) { // not empty
|
||||||
if (bytes & 0x1) {
|
if (bytes & 0x1) {
|
||||||
str.clear();
|
str.clear();
|
||||||
|
Loading…
Reference in New Issue
Block a user