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>
This commit is contained in:
parent
aa99bf532d
commit
da84941375
@ -12,31 +12,29 @@
|
|||||||
#include <QtCore/QDebug>
|
#include <QtCore/QDebug>
|
||||||
#include <qendian.h>
|
#include <qendian.h>
|
||||||
|
|
||||||
|
#include <private/qoffsetstringarray_p.h>
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
|
|
||||||
using namespace Qt::StringLiterals;
|
using namespace Qt::StringLiterals;
|
||||||
|
|
||||||
// in the same order as Type!
|
// in the same order as Type!
|
||||||
static const char magicRuleTypes_string[] =
|
static constexpr auto magicRuleTypes = qOffsetStringArray(
|
||||||
"invalid\0"
|
"invalid",
|
||||||
"string\0"
|
"string",
|
||||||
"host16\0"
|
"host16",
|
||||||
"host32\0"
|
"host32",
|
||||||
"big16\0"
|
"big16",
|
||||||
"big32\0"
|
"big32",
|
||||||
"little16\0"
|
"little16",
|
||||||
"little32\0"
|
"little32",
|
||||||
"byte\0"
|
"byte"
|
||||||
"\0";
|
);
|
||||||
|
|
||||||
static const int magicRuleTypes_indices[] = {
|
|
||||||
0, 8, 15, 22, 29, 35, 41, 50, 59, 64, 0
|
|
||||||
};
|
|
||||||
|
|
||||||
QMimeMagicRule::Type QMimeMagicRule::type(const QByteArray &theTypeName)
|
QMimeMagicRule::Type QMimeMagicRule::type(const QByteArray &theTypeName)
|
||||||
{
|
{
|
||||||
for (int i = String; i <= Byte; ++i) {
|
for (int i = String; i <= Byte; ++i) {
|
||||||
if (theTypeName == magicRuleTypes_string + magicRuleTypes_indices[i])
|
if (theTypeName == magicRuleTypes.at(i))
|
||||||
return Type(i);
|
return Type(i);
|
||||||
}
|
}
|
||||||
return Invalid;
|
return Invalid;
|
||||||
@ -44,7 +42,7 @@ QMimeMagicRule::Type QMimeMagicRule::type(const QByteArray &theTypeName)
|
|||||||
|
|
||||||
QByteArray QMimeMagicRule::typeName(QMimeMagicRule::Type theType)
|
QByteArray QMimeMagicRule::typeName(QMimeMagicRule::Type theType)
|
||||||
{
|
{
|
||||||
return magicRuleTypes_string + magicRuleTypes_indices[theType];
|
return magicRuleTypes.at(theType);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QMimeMagicRule::operator==(const QMimeMagicRule &other) const
|
bool QMimeMagicRule::operator==(const QMimeMagicRule &other) const
|
||||||
|
Loading…
Reference in New Issue
Block a user