diff options
Diffstat (limited to 'src/corelib/serialization/qdatastream.cpp')
| -rw-r--r-- | src/corelib/serialization/qdatastream.cpp | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/corelib/serialization/qdatastream.cpp b/src/corelib/serialization/qdatastream.cpp index fd550cf8bcf..dcfa292f154 100644 --- a/src/corelib/serialization/qdatastream.cpp +++ b/src/corelib/serialization/qdatastream.cpp @@ -1346,13 +1346,9 @@ QDataStream &QDataStream::operator<<(double f) QDataStream &QDataStream::operator<<(const char *s) { - if (!s) { - *this << (quint32)0; - return *this; - } - int len = int(qstrlen(s)) + 1; // also write null terminator - *this << (quint32)len; // write length specifier - writeRawData(s, len); + // Include null terminator, unless s itself is null + const qint64 len = s ? qint64(qstrlen(s)) + 1 : 0; + writeBytes(s, len); return *this; } |
