Update mime database from Qt

qtbase/498f3452285aa44580e1d03baeec126d475f8401
  QtMiscUtils: add some more character helpers

Change-Id: I5925c62daa7edf27dd1ececba4fd3fb870999eaf
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
Eike Ziller
2024-08-27 12:49:15 +02:00
parent 2898d63915
commit ca80bf259f

View File

@@ -13,6 +13,12 @@ using namespace Qt::StringLiterals;
namespace Utils { namespace Utils {
// originally from qtools_p.h
static bool isOctalDigit(char32_t c) noexcept
{
return c >= '0' && c <= '7';
}
// in the same order as Type! // in the same order as Type!
static const char magicRuleTypes_string[] = static const char magicRuleTypes_string[] =
"invalid\0" "invalid\0"
@@ -157,11 +163,11 @@ static inline QByteArray makePattern(const QByteArray &value)
continue; continue;
} }
*data++ = c; *data++ = c;
} else if (*p >= '0' && *p <= '7') { // oct (\\7, or \\77, or \\377) } else if (isOctalDigit(*p)) { // oct (\\7, or \\77, or \\377)
char c = *p - '0'; char c = *p - '0';
if (p + 1 < e && p[1] >= '0' && p[1] <= '7') { if (p + 1 < e && isOctalDigit(p[1])) {
c = (c << 3) + *(++p) - '0'; c = (c << 3) + *(++p) - '0';
if (p + 1 < e && p[1] >= '0' && p[1] <= '7' && p[-1] <= '3') if (p + 1 < e && isOctalDigit(p[1]) && p[-1] <= '3')
c = (c << 3) + *(++p) - '0'; c = (c << 3) + *(++p) - '0';
} }
*data++ = c; *data++ = c;