qurlidna: port some internal functions to QSV
Change-Id: If9c0090589cd58738165f2fe71701dba6958575c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
This commit is contained in:
parent
d0b90663a4
commit
ec8e3e535d
@ -777,7 +777,7 @@ bool DomainValidityChecker::checkLabel(const QString &label, QUrl::AceProcessing
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static QString convertToAscii(const QString &normalizedDomain, AceLeadingDot dot)
|
static QString convertToAscii(QStringView normalizedDomain, AceLeadingDot dot)
|
||||||
{
|
{
|
||||||
qsizetype lastIdx = 0;
|
qsizetype lastIdx = 0;
|
||||||
QString aceForm; // this variable is here for caching
|
QString aceForm; // this variable is here for caching
|
||||||
@ -795,7 +795,7 @@ static QString convertToAscii(const QString &normalizedDomain, AceLeadingDot dot
|
|||||||
if (dot == ForbidLeadingDot || idx > 0)
|
if (dot == ForbidLeadingDot || idx > 0)
|
||||||
return {}; // two delimiters in a row -- empty label not allowed
|
return {}; // two delimiters in a row -- empty label not allowed
|
||||||
} else {
|
} else {
|
||||||
const auto label = QStringView(normalizedDomain).sliced(lastIdx, labelLength);
|
const auto label = normalizedDomain.sliced(lastIdx, labelLength);
|
||||||
aceForm.clear();
|
aceForm.clear();
|
||||||
qt_punycodeEncoder(label, &aceForm);
|
qt_punycodeEncoder(label, &aceForm);
|
||||||
if (aceForm.isEmpty())
|
if (aceForm.isEmpty())
|
||||||
@ -814,7 +814,7 @@ static QString convertToAscii(const QString &normalizedDomain, AceLeadingDot dot
|
|||||||
return aceResult;
|
return aceResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool checkAsciiDomainName(const QString &normalizedDomain, AceLeadingDot dot,
|
static bool checkAsciiDomainName(QStringView normalizedDomain, AceLeadingDot dot,
|
||||||
bool *usesPunycode)
|
bool *usesPunycode)
|
||||||
{
|
{
|
||||||
qsizetype lastIdx = 0;
|
qsizetype lastIdx = 0;
|
||||||
@ -833,7 +833,7 @@ static bool checkAsciiDomainName(const QString &normalizedDomain, AceLeadingDot
|
|||||||
if (dot == ForbidLeadingDot || idx > 0)
|
if (dot == ForbidLeadingDot || idx > 0)
|
||||||
return false; // two delimiters in a row -- empty label not allowed
|
return false; // two delimiters in a row -- empty label not allowed
|
||||||
} else {
|
} else {
|
||||||
const auto label = QStringView(normalizedDomain).sliced(lastIdx, labelLength);
|
const auto label = normalizedDomain.sliced(lastIdx, labelLength);
|
||||||
if (!validateAsciiLabel(label))
|
if (!validateAsciiLabel(label))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user