summaryrefslogtreecommitdiffstats
path: root/src/corelib/mimetypes/qmimemagicrule.cpp
diff options
context:
space:
mode:
authorSona Kurazyan <sona.kurazyan@qt.io>2022-09-02 15:46:18 +0200
committerSona Kurazyan <sona.kurazyan@qt.io>2022-09-06 12:57:57 +0200
commitda84941375d8301d9f22df1fa3753571de005c64 (patch)
tree70f7d20e7d5a862558aebd815fa5e8101d9ccb52 /src/corelib/mimetypes/qmimemagicrule.cpp
parentaa99bf532da51fc024c70e989e54b014e4cec199 (diff)
QMimeMagicRule: use qOffsetStringArray for storing types
Each element of the array corresponds to an item in QMimeMagicRule::Type enum, so dropped the last empty string of the array which is not used. Change-Id: I4786afaa58287c26d4525180fe6fa6891ddcde26 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/mimetypes/qmimemagicrule.cpp')
-rw-r--r--src/corelib/mimetypes/qmimemagicrule.cpp32
1 files changed, 15 insertions, 17 deletions
diff --git a/src/corelib/mimetypes/qmimemagicrule.cpp b/src/corelib/mimetypes/qmimemagicrule.cpp
index 8681de6f44..b1019afc84 100644
--- a/src/corelib/mimetypes/qmimemagicrule.cpp
+++ b/src/corelib/mimetypes/qmimemagicrule.cpp
@@ -12,31 +12,29 @@
#include <QtCore/QDebug>
#include <qendian.h>
+#include <private/qoffsetstringarray_p.h>
+
QT_BEGIN_NAMESPACE
using namespace Qt::StringLiterals;
// in the same order as Type!
-static const char magicRuleTypes_string[] =
- "invalid\0"
- "string\0"
- "host16\0"
- "host32\0"
- "big16\0"
- "big32\0"
- "little16\0"
- "little32\0"
- "byte\0"
- "\0";
-
-static const int magicRuleTypes_indices[] = {
- 0, 8, 15, 22, 29, 35, 41, 50, 59, 64, 0
-};
+static constexpr auto magicRuleTypes = qOffsetStringArray(
+ "invalid",
+ "string",
+ "host16",
+ "host32",
+ "big16",
+ "big32",
+ "little16",
+ "little32",
+ "byte"
+);
QMimeMagicRule::Type QMimeMagicRule::type(const QByteArray &theTypeName)
{
for (int i = String; i <= Byte; ++i) {
- if (theTypeName == magicRuleTypes_string + magicRuleTypes_indices[i])
+ if (theTypeName == magicRuleTypes.at(i))
return Type(i);
}
return Invalid;
@@ -44,7 +42,7 @@ QMimeMagicRule::Type QMimeMagicRule::type(const QByteArray &theTypeName)
QByteArray QMimeMagicRule::typeName(QMimeMagicRule::Type theType)
{
- return magicRuleTypes_string + magicRuleTypes_indices[theType];
+ return magicRuleTypes.at(theType);
}
bool QMimeMagicRule::operator==(const QMimeMagicRule &other) const