summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/corelib/codecs/qicucodec.cpp4
-rw-r--r--tests/auto/corelib/codecs/qtextcodec/tst_qtextcodec.cpp8
2 files changed, 12 insertions, 0 deletions
diff --git a/src/corelib/codecs/qicucodec.cpp b/src/corelib/codecs/qicucodec.cpp
index b591a3d50d..e348e68753 100644
--- a/src/corelib/codecs/qicucodec.cpp
+++ b/src/corelib/codecs/qicucodec.cpp
@@ -530,6 +530,10 @@ QTextCodec *QIcuCodec::codecForMibUnlocked(int mib)
if (mibToName[i].mib == mib)
return codecForNameUnlocked(mibToNameTable + mibToName[i].index);
}
+
+ if (mib == 2107)
+ return codecForNameUnlocked("TSCII");
+
return 0;
}
diff --git a/tests/auto/corelib/codecs/qtextcodec/tst_qtextcodec.cpp b/tests/auto/corelib/codecs/qtextcodec/tst_qtextcodec.cpp
index 2eac72db29..c32c6f9573 100644
--- a/tests/auto/corelib/codecs/qtextcodec/tst_qtextcodec.cpp
+++ b/tests/auto/corelib/codecs/qtextcodec/tst_qtextcodec.cpp
@@ -73,6 +73,7 @@ private slots:
void decode0D() const;
void aliasForUTF16() const;
void mibForTSCII() const;
+ void codecForTSCII() const;
void utf8Codec_data();
void utf8Codec();
@@ -513,6 +514,13 @@ void tst_QTextCodec::mibForTSCII() const
QCOMPARE(codec->mibEnum(), 2107);
}
+void tst_QTextCodec::codecForTSCII() const
+{
+ QTextCodec *codec = QTextCodec::codecForMib(2107);
+ QVERIFY(codec);
+ QCOMPARE(codec->mibEnum(), 2107);
+}
+
static QString fromInvalidUtf8Sequence(const QByteArray &ba)
{
return QString().fill(QChar::ReplacementCharacter, ba.size());