diff options
Diffstat (limited to 'src/corelib/io/qtldurl.cpp')
-rw-r--r-- | src/corelib/io/qtldurl.cpp | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/src/corelib/io/qtldurl.cpp b/src/corelib/io/qtldurl.cpp index d68d0ddf46..265055083e 100644 --- a/src/corelib/io/qtldurl.cpp +++ b/src/corelib/io/qtldurl.cpp @@ -99,19 +99,14 @@ Q_CORE_EXPORT bool qIsEffectiveTLD(const QString &domain) if (containsTLDEntry(domain)) return true; - if (domain.contains(QLatin1Char('.'))) { - int count = domain.size() - domain.indexOf(QLatin1Char('.')); - QString wildCardDomain; - wildCardDomain.reserve(count + 1); - wildCardDomain.append(QLatin1Char('*')); - wildCardDomain.append(domain.right(count)); + const int dot = domain.indexOf(QLatin1Char('.')); + if (dot >= 0) { + int count = domain.size() - dot; + QString wildCardDomain = QLatin1Char('*') + domain.rightRef(count); // 2. if table contains '*.bar.com', // test if table contains '!foo.bar.com' if (containsTLDEntry(wildCardDomain)) { - QString exceptionDomain; - exceptionDomain.reserve(domain.size() + 1); - exceptionDomain.append(QLatin1Char('!')); - exceptionDomain.append(domain); + QString exceptionDomain = QLatin1Char('!') + domain; return (! containsTLDEntry(exceptionDomain)); } } |