summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2020-04-23 18:03:45 +0200
committerMarc Mutz <marc.mutz@kdab.com>2020-05-02 07:30:10 +0200
commit13bea137922c2501aa91bad1f22b0d9aac80ab7c (patch)
tree0f566bc8ed0a95a9480cb3eff6a15251d122cb57
parent2e69375616f9a4a2ffaa470c0d9a6865685e0104 (diff)
QUrlIdna: port qt_ACE_do() to QStringView
Change-Id: I29abc17576ceb72dd678e3ca59456e6220acd0a6 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
-rw-r--r--src/corelib/io/qurl_p.h2
-rw-r--r--src/corelib/io/qurlidna.cpp6
2 files changed, 4 insertions, 4 deletions
diff --git a/src/corelib/io/qurl_p.h b/src/corelib/io/qurl_p.h
index e75de32e031..fb9d559a09c 100644
--- a/src/corelib/io/qurl_p.h
+++ b/src/corelib/io/qurl_p.h
@@ -64,7 +64,7 @@ extern Q_AUTOTEST_EXPORT int qt_urlRecode(QString &appendTo, const QChar *begin,
// in qurlidna.cpp
enum AceLeadingDot { AllowLeadingDot, ForbidLeadingDot };
enum AceOperation { ToAceOnly, NormalizeAce };
-extern QString qt_ACE_do(const QString &domain, AceOperation op, AceLeadingDot dot);
+extern QString qt_ACE_do(QStringView domain, AceOperation op, AceLeadingDot dot);
extern Q_AUTOTEST_EXPORT bool qt_nameprep(QString *source, int from);
extern Q_AUTOTEST_EXPORT bool qt_check_std3rules(const QChar *uc, int len);
extern Q_AUTOTEST_EXPORT void qt_punycodeEncoder(const QChar *s, int ucLength, QString *output);
diff --git a/src/corelib/io/qurlidna.cpp b/src/corelib/io/qurlidna.cpp
index c5b205557ff..4376c993cd3 100644
--- a/src/corelib/io/qurlidna.cpp
+++ b/src/corelib/io/qurlidna.cpp
@@ -2485,7 +2485,7 @@ static qsizetype nextDotDelimiter(QStringView domain, qsizetype from = 0)
return ch - b;
}
-QString qt_ACE_do(const QString &domain, AceOperation op, AceLeadingDot dot)
+QString qt_ACE_do(QStringView domain, AceOperation op, AceLeadingDot dot)
{
QString result;
if (domain.isEmpty())
@@ -2501,7 +2501,7 @@ QString qt_ACE_do(const QString &domain, AceOperation op, AceLeadingDot dot)
const auto idx = nextDotDelimiter(domain, lastIdx);
const auto labelLength = idx - lastIdx;
if (labelLength == 0) {
- if (idx == domain.length())
+ if (idx == domain.size())
break;
if (dot == ForbidLeadingDot || idx > 0)
return QString(); // two delimiters in a row -- empty label not allowed
@@ -2526,7 +2526,7 @@ QString qt_ACE_do(const QString &domain, AceOperation op, AceLeadingDot dot)
result.resize(prevLen + labelLength);
{
QChar *out = result.data() + prevLen;
- const QChar *in = domain.constData() + lastIdx;
+ const QChar *in = domain.data() + lastIdx;
const QChar *e = in + labelLength;
for (; in < e; ++in, ++out) {
ushort uc = in->unicode();