From bfabd0de511336abf50594b5e98f94d3eb36cb73 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sat, 4 Aug 2012 08:16:47 +0200 Subject: [PATCH] QUrl::idnWhiteList(): add QList::reserve() call Avoids reallocation. Change-Id: I3238574590463596a797d237b066ef60214392a7 Reviewed-by: David Faure Reviewed-by: Thiago Macieira --- src/corelib/io/qurlidna.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/corelib/io/qurlidna.cpp b/src/corelib/io/qurlidna.cpp index 01497d16ab7..21ad1b7fca5 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; }