QMimeBinaryProvider::loadMimeTypePrivate(): Make name check case insensitive.

RFC 2045 mandates case-insensitive comparison for MIME type and subtype.
Fixes numerous warnings appearing when dumping the database on
Ubuntu 14.04.1 LTS:

Got name "application/vnd.ms-excel.sheet.binary.macroenabled.12" in file "application/vnd.ms-excel.sheet.binary.macroEnabled.12.xml" expected "application/vnd.ms-excel.sheet.binary.macroEnabled.12"
Got name "application/vnd.ms-excel.sheet.macroenabled.12" in file "application/vnd.ms-excel.sheet.macroEnabled.12.xml" expected "application/vnd.ms-excel.sheet.macroEnabled.12"
Got name "application/vnd.ms-excel.template.macroenabled.12" in file "application/vnd.ms-excel.template.macroEnabled.12.xml" expected "application/vnd.ms-excel.template.macroEnabled.12"
Got name "application/vnd.ms-powerpoint.presentation.macroenabled.12" in file "application/vnd.ms-powerpoint.presentation.macroEnabled.12.xml" expected "application/vnd.ms-powerpoint.presentation.macroEnabled.12"
Got name "application/vnd.ms-powerpoint.template.macroenabled.12" in file "application/vnd.ms-powerpoint.template.macroEnabled.12.xml" expected "application/vnd.ms-powerpoint.template.macroEnabled.12"
Got name "application/vnd.ms-word.document.macroenabled.12" in file "application/vnd.ms-word.document.macroEnabled.12.xml" expected "application/vnd.ms-word.document.macroEnabled.12"
Got name "application/vnd.ms-word.template.macroenabled.12" in file "application/vnd.ms-word.template.macroEnabled.12.xml" expected "application/vnd.ms-word.template.macroEnabled.12"

Change-Id: Ie2a427069024080302a95ac46a456288787542c4
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
Reviewed-by: David Faure <david.faure@kdab.com>
bb10
Friedemann Kleint 2016-03-01 15:14:34 +01:00
parent acba844c6b
commit 52a5ffb505
1 changed files with 1 additions and 2 deletions

View File

@ -591,9 +591,8 @@ void QMimeBinaryProvider::loadMimeTypePrivate(QMimeTypePrivate &data)
const QStringRef name = xml.attributes().value(QLatin1String("type"));
if (name.isEmpty())
continue;
if (name != data.name) {
if (name.compare(data.name, Qt::CaseInsensitive))
qWarning() << "Got name" << name << "in file" << file << "expected" << data.name;
}
while (xml.readNextStartElement()) {
const QStringRef tag = xml.name();