summaryrefslogtreecommitdiffstats
path: root/src/corelib/serialization/qtextstream.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2020-04-22 14:39:27 +0200
committerLars Knoll <lars.knoll@qt.io>2020-05-14 07:47:33 +0200
commitcab0d57d1eb02d93774f4e444cb4514400bac0e9 (patch)
tree49f59bd135fcd071367d529b64304ca4e864fdc9 /src/corelib/serialization/qtextstream.cpp
parent542ded462ef637dd48b29ba10845c3afb76ec126 (diff)
Clean up the Flag handling in QStringConverter
IgnoreHeader was a rather badly defined enum, in addition the utf8 and utf16 codecs where handling BOMs somewhat different for stateless decoding. Fix this by introducing explicit flags for writing a bom when encoding and not skipping the initial bom when decoding. Source compatibility for QTextCodec is done with a couple of static constexpr variables. Change-Id: I0b2d94f84c937cec1e0494c16ef448c00382691d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/serialization/qtextstream.cpp')
-rw-r--r--src/corelib/serialization/qtextstream.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/corelib/serialization/qtextstream.cpp b/src/corelib/serialization/qtextstream.cpp
index a970397419..a2af401a41 100644
--- a/src/corelib/serialization/qtextstream.cpp
+++ b/src/corelib/serialization/qtextstream.cpp
@@ -3257,7 +3257,7 @@ void QTextStream::setGenerateByteOrderMark(bool generate)
{
Q_D(QTextStream);
if (d->writeBuffer.isEmpty()) {
- d->writeConverterState.flags.setFlag(QTextCodec::IgnoreHeader, !generate);
+ d->writeConverterState.flags.setFlag(QStringConverter::Flag::WriteBom, generate);
}
}
@@ -3271,7 +3271,7 @@ void QTextStream::setGenerateByteOrderMark(bool generate)
bool QTextStream::generateByteOrderMark() const
{
Q_D(const QTextStream);
- return (d->writeConverterState.flags & QTextCodec::IgnoreHeader) == 0;
+ return (d->writeConverterState.flags & QStringConverter::Flag::WriteBom);
}
#endif