diff options
author | Igor Kushnir <igorkuo@gmail.com> | 2021-12-11 19:45:08 +0200 |
---|---|---|
committer | Igor Kushnir <igorkuo@gmail.com> | 2021-12-21 12:13:57 +0200 |
commit | 153ded9b957cd9f906ca8d6c2d6d88bc85407246 (patch) | |
tree | 67826d0c61ee05eaa6f87d2c41a9a3f9b5a5d24f /src/corelib/mimetypes | |
parent | 7a4da201b57b12216b556a591100a016e58bab43 (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.cpp | 19 | ||||
-rw-r--r-- | src/corelib/mimetypes/qmimedatabase_p.h | 2 |
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); |