summaryrefslogtreecommitdiffstats
path: root/src/corelib/codecs
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/codecs
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/codecs')
-rw-r--r--src/corelib/codecs/qtextcodec.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/corelib/codecs/qtextcodec.h b/src/corelib/codecs/qtextcodec.h
index 03e8f95ce1..84e875c91f 100644
--- a/src/corelib/codecs/qtextcodec.h
+++ b/src/corelib/codecs/qtextcodec.h
@@ -60,6 +60,10 @@ public:
using ConversionFlags = QStringConverterBase::Flags;
using ConverterState = QStringConverterBase::State;
+ static constexpr Flag ConvertInvalidToNull = Flag::ConvertInvalidToNull;
+ static constexpr Flag DefaultConversion = Flag::WriteBom;
+ static constexpr Flag IgnoreHeader = Flag::DontSkipInitialBom;
+
static QTextCodec* codecForName(const QByteArray &name);
static QTextCodec* codecForName(const char *name) { return codecForName(QByteArray(name)); }
static QTextCodec* codecForMib(int mib);