summaryrefslogtreecommitdiffstats
path: root/src/corelib/io/qurlidna.cpp
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2012-08-04 08:16:47 +0200
committerQt by Nokia <qt-info@nokia.com>2012-08-07 16:43:11 +0200
commitbfabd0de511336abf50594b5e98f94d3eb36cb73 (patch)
tree684a1f4e50024820ffd9d33478a749476948f77c /src/corelib/io/qurlidna.cpp
parent045a5e3b42747be1198ec6d33d344aaed1b3618b (diff)
QUrl::idnWhiteList(): add QList::reserve() call
Avoids reallocation. Change-Id: I3238574590463596a797d237b066ef60214392a7 Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/io/qurlidna.cpp')
-rw-r--r--src/corelib/io/qurlidna.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/corelib/io/qurlidna.cpp b/src/corelib/io/qurlidna.cpp
index 01497d16ab..21ad1b7fca 100644
--- a/src/corelib/io/qurlidna.cpp
+++ b/src/corelib/io/qurlidna.cpp
@@ -2358,6 +2358,7 @@ static const char * const idn_whitelist[] = {
"xn--mgberp4a5d4ar", // Saudi Arabia
"xn--wgbh1c" // Egypt
};
+static const size_t idn_whitelist_size = sizeof idn_whitelist / sizeof *idn_whitelist;
static QStringList *user_idn_whitelist = 0;
@@ -2406,7 +2407,7 @@ static bool qt_is_idn_enabled(const QString &domain)
return user_idn_whitelist->contains(tldString);
int l = 0;
- int r = sizeof(idn_whitelist)/sizeof(const char *) - 1;
+ int r = idn_whitelist_size - 1;
int i = (l + r + 1) / 2;
while (r != l) {
@@ -2558,8 +2559,9 @@ QStringList QUrl::idnWhitelist()
if (user_idn_whitelist)
return *user_idn_whitelist;
QStringList list;
+ list.reserve(idn_whitelist_size);
unsigned int i = 0;
- while (i < sizeof(idn_whitelist)/sizeof(const char *)) {
+ while (i < idn_whitelist_size) {
list << QLatin1String(idn_whitelist[i]);
++i;
}