summaryrefslogtreecommitdiffstats
path: root/src/corelib/mimetypes
diff options
context:
space:
mode:
authorIgor Kushnir <igorkuo@gmail.com>2021-12-11 19:45:08 +0200
committerIgor Kushnir <igorkuo@gmail.com>2021-12-21 12:13:57 +0200
commit153ded9b957cd9f906ca8d6c2d6d88bc85407246 (patch)
tree67826d0c61ee05eaa6f87d2c41a9a3f9b5a5d24f /src/corelib/mimetypes
parent7a4da201b57b12216b556a591100a016e58bab43 (diff)
QMimeDatabasePrivate: remove unused output parameter
mimeTypeForFileNameAndData()'s output parameter int *priorityPtr (named differently "accuracyPtr" in the definition) is never used by its callers. Remove it to shorten the code and slightly improve performance. Change-Id: Ibc3d169501e89584b4318074ccb780580dc70fb6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/mimetypes')
-rw-r--r--src/corelib/mimetypes/qmimedatabase.cpp19
-rw-r--r--src/corelib/mimetypes/qmimedatabase_p.h2
2 files changed, 6 insertions, 15 deletions
diff --git a/src/corelib/mimetypes/qmimedatabase.cpp b/src/corelib/mimetypes/qmimedatabase.cpp
index 5dcdf59453..52fb96886d 100644
--- a/src/corelib/mimetypes/qmimedatabase.cpp
+++ b/src/corelib/mimetypes/qmimedatabase.cpp
@@ -365,19 +365,17 @@ QMimeType QMimeDatabasePrivate::findByData(const QByteArray &data, int *accuracy
return mimeTypeForName(defaultMimeType());
}
-QMimeType QMimeDatabasePrivate::mimeTypeForFileNameAndData(const QString &fileName, QIODevice *device, int *accuracyPtr)
+QMimeType QMimeDatabasePrivate::mimeTypeForFileNameAndData(const QString &fileName, QIODevice *device)
{
// First, glob patterns are evaluated. If there is a match with max weight,
// this one is selected and we are done. Otherwise, the file contents are
// evaluated and the match with the highest value (either a magic priority or
// a glob pattern weight) is selected. Matching starts from max level (most
// specific) in both cases, even when there is already a suffix matching candidate.
- *accuracyPtr = 0;
// Pass 1) Try to match on the file name
QMimeGlobMatchResult candidatesByName = findByFileName(fileName);
if (candidatesByName.m_allMatchingMimeTypes.count() == 1) {
- *accuracyPtr = 100;
const QMimeType mime = mimeTypeForName(candidatesByName.m_matchingMimeTypes.at(0));
if (mime.isValid())
return mime;
@@ -386,7 +384,7 @@ QMimeType QMimeDatabasePrivate::mimeTypeForFileNameAndData(const QString &fileNa
// Extension is unknown, or matches multiple mimetypes.
// Pass 2) Match on content, if we can read the data
- const auto matchOnContent = [this, accuracyPtr, &candidatesByName](QIODevice *device) {
+ const auto matchOnContent = [this, &candidatesByName](QIODevice *device) {
if (device->isOpen()) {
// Read 16K in one go (QIODEVICE_BUFFERSIZE in qiodevice_p.h).
// This is much faster than seeking back and forth into QIODevice.
@@ -400,19 +398,16 @@ QMimeType QMimeDatabasePrivate::mimeTypeForFileNameAndData(const QString &fileNa
const QString sniffedMime = candidateByData.name();
// If the sniffedMime matches a highest-weight glob match, use it
if (candidatesByName.m_matchingMimeTypes.contains(sniffedMime)) {
- *accuracyPtr = 100;
return candidateByData;
}
for (const QString &m : qAsConst(candidatesByName.m_allMatchingMimeTypes)) {
if (inherits(m, sniffedMime)) {
// We have magic + pattern pointing to this, so it's a pretty good match
- *accuracyPtr = 100;
return mimeTypeForName(m);
}
}
if (candidatesByName.m_allMatchingMimeTypes.isEmpty()) {
// No glob, use magic
- *accuracyPtr = magicAccuracy;
return candidateByData;
}
}
@@ -420,7 +415,6 @@ QMimeType QMimeDatabasePrivate::mimeTypeForFileNameAndData(const QString &fileNa
if (candidatesByName.m_allMatchingMimeTypes.count() > 1) {
candidatesByName.m_matchingMimeTypes.sort(); // make it deterministic
- *accuracyPtr = 20;
const QMimeType mime = mimeTypeForName(candidatesByName.m_matchingMimeTypes.at(0));
if (mime.isValid())
return mime;
@@ -491,10 +485,9 @@ QMimeType QMimeDatabasePrivate::mimeTypeForFile(const QString &fileName,
return mimeTypeForName(QLatin1String("inode/directory"));
#endif
- int priority = 0;
switch (mode) {
case QMimeDatabase::MatchDefault:
- return mimeTypeForFileNameAndData(fileName, nullptr, &priority);
+ return mimeTypeForFileNameAndData(fileName, nullptr);
case QMimeDatabase::MatchExtension:
return mimeTypeForFileExtension(fileName);
case QMimeDatabase::MatchContent: {
@@ -774,9 +767,8 @@ QMimeType QMimeDatabase::mimeTypeForFileNameAndData(const QString &fileName, QIO
if (fileName.endsWith(QLatin1Char('/')))
return d->mimeTypeForName(QLatin1String("inode/directory"));
- int accuracy = 0;
const bool openedByUs = !device->isOpen() && device->open(QIODevice::ReadOnly);
- const QMimeType result = d->mimeTypeForFileNameAndData(fileName, device, &accuracy);
+ const QMimeType result = d->mimeTypeForFileNameAndData(fileName, device);
if (openedByUs)
device->close();
return result;
@@ -807,8 +799,7 @@ QMimeType QMimeDatabase::mimeTypeForFileNameAndData(const QString &fileName, con
QBuffer buffer(const_cast<QByteArray *>(&data));
buffer.open(QIODevice::ReadOnly);
- int accuracy = 0;
- return d->mimeTypeForFileNameAndData(fileName, &buffer, &accuracy);
+ return d->mimeTypeForFileNameAndData(fileName, &buffer);
}
/*!
diff --git a/src/corelib/mimetypes/qmimedatabase_p.h b/src/corelib/mimetypes/qmimedatabase_p.h
index d5ed61b0b9..ba5997e943 100644
--- a/src/corelib/mimetypes/qmimedatabase_p.h
+++ b/src/corelib/mimetypes/qmimedatabase_p.h
@@ -93,7 +93,7 @@ public:
QString resolveAlias(const QString &nameOrAlias);
QStringList parents(const QString &mimeName);
QMimeType mimeTypeForName(const QString &nameOrAlias);
- QMimeType mimeTypeForFileNameAndData(const QString &fileName, QIODevice *device, int *priorityPtr);
+ QMimeType mimeTypeForFileNameAndData(const QString &fileName, QIODevice *device);
QMimeType mimeTypeForFileExtension(const QString &fileName);
QMimeType mimeTypeForData(QIODevice *device);
QMimeType mimeTypeForFile(const QString &fileName, const QFileInfo *fileInfo, QMimeDatabase::MatchMode mode);