aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4dateobject.cpp
diff options
context:
space:
mode:
authorEdward Welbourne <edward.welbourne@qt.io>2016-11-09 19:12:04 +0100
committerEdward Welbourne <edward.welbourne@qt.io>2017-11-14 17:18:26 +0000
commitc44e56715a535ebd9d687b5cb9b7f914e8500af5 (patch)
tree361714525e839179a9147c3a5b51d59e017aec39 /src/qml/jsruntime/qv4dateobject.cpp
parent948e24cb6deeaf0e55794032b90fdf20b7ef12c1 (diff)
V4 Date.ParseString(): use array in place of QStringList
Converted a QStringList of formats (constructed on each affected call to the function) to a const array (needing no heap or run-time). Change-Id: Ia6b32a306620e3ea4dd0ec1456f6b66bc8aba322 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4dateobject.cpp')
-rw-r--r--src/qml/jsruntime/qv4dateobject.cpp101
1 files changed, 51 insertions, 50 deletions
diff --git a/src/qml/jsruntime/qv4dateobject.cpp b/src/qml/jsruntime/qv4dateobject.cpp
index 3328725de4..3aa20931ad 100644
--- a/src/qml/jsruntime/qv4dateobject.cpp
+++ b/src/qml/jsruntime/qv4dateobject.cpp
@@ -543,56 +543,57 @@ static inline double ParseString(const QString &s)
if (!dt.isValid())
dt = QDateTime::fromString(s, Qt::RFC2822Date);
if (!dt.isValid()) {
- QStringList formats;
- formats << QStringLiteral("M/d/yyyy")
- << QStringLiteral("M/d/yyyy hh:mm")
- << QStringLiteral("M/d/yyyy hh:mm A")
-
- << QStringLiteral("M/d/yyyy, hh:mm")
- << QStringLiteral("M/d/yyyy, hh:mm A")
-
- << QStringLiteral("MMM d yyyy")
- << QStringLiteral("MMM d yyyy hh:mm")
- << QStringLiteral("MMM d yyyy hh:mm:ss")
- << QStringLiteral("MMM d yyyy, hh:mm")
- << QStringLiteral("MMM d yyyy, hh:mm:ss")
-
- << QStringLiteral("MMMM d yyyy")
- << QStringLiteral("MMMM d yyyy hh:mm")
- << QStringLiteral("MMMM d yyyy hh:mm:ss")
- << QStringLiteral("MMMM d yyyy, hh:mm")
- << QStringLiteral("MMMM d yyyy, hh:mm:ss")
-
- << QStringLiteral("MMM d, yyyy")
- << QStringLiteral("MMM d, yyyy hh:mm")
- << QStringLiteral("MMM d, yyyy hh:mm:ss")
-
- << QStringLiteral("MMMM d, yyyy")
- << QStringLiteral("MMMM d, yyyy hh:mm")
- << QStringLiteral("MMMM d, yyyy hh:mm:ss")
-
- << QStringLiteral("d MMM yyyy")
- << QStringLiteral("d MMM yyyy hh:mm")
- << QStringLiteral("d MMM yyyy hh:mm:ss")
- << QStringLiteral("d MMM yyyy, hh:mm")
- << QStringLiteral("d MMM yyyy, hh:mm:ss")
-
- << QStringLiteral("d MMMM yyyy")
- << QStringLiteral("d MMMM yyyy hh:mm")
- << QStringLiteral("d MMMM yyyy hh:mm:ss")
- << QStringLiteral("d MMMM yyyy, hh:mm")
- << QStringLiteral("d MMMM yyyy, hh:mm:ss")
-
- << QStringLiteral("d MMM, yyyy")
- << QStringLiteral("d MMM, yyyy hh:mm")
- << QStringLiteral("d MMM, yyyy hh:mm:ss")
-
- << QStringLiteral("d MMMM, yyyy")
- << QStringLiteral("d MMMM, yyyy hh:mm")
- << QStringLiteral("d MMMM, yyyy hh:mm:ss");
-
- for (int i = 0; i < formats.size(); ++i) {
- const QString &format(formats.at(i));
+ const QString formats[] = {
+ QStringLiteral("M/d/yyyy"),
+ QStringLiteral("M/d/yyyy hh:mm"),
+ QStringLiteral("M/d/yyyy hh:mm A"),
+
+ QStringLiteral("M/d/yyyy, hh:mm"),
+ QStringLiteral("M/d/yyyy, hh:mm A"),
+
+ QStringLiteral("MMM d yyyy"),
+ QStringLiteral("MMM d yyyy hh:mm"),
+ QStringLiteral("MMM d yyyy hh:mm:ss"),
+ QStringLiteral("MMM d yyyy, hh:mm"),
+ QStringLiteral("MMM d yyyy, hh:mm:ss"),
+
+ QStringLiteral("MMMM d yyyy"),
+ QStringLiteral("MMMM d yyyy hh:mm"),
+ QStringLiteral("MMMM d yyyy hh:mm:ss"),
+ QStringLiteral("MMMM d yyyy, hh:mm"),
+ QStringLiteral("MMMM d yyyy, hh:mm:ss"),
+
+ QStringLiteral("MMM d, yyyy"),
+ QStringLiteral("MMM d, yyyy hh:mm"),
+ QStringLiteral("MMM d, yyyy hh:mm:ss"),
+
+ QStringLiteral("MMMM d, yyyy"),
+ QStringLiteral("MMMM d, yyyy hh:mm"),
+ QStringLiteral("MMMM d, yyyy hh:mm:ss"),
+
+ QStringLiteral("d MMM yyyy"),
+ QStringLiteral("d MMM yyyy hh:mm"),
+ QStringLiteral("d MMM yyyy hh:mm:ss"),
+ QStringLiteral("d MMM yyyy, hh:mm"),
+ QStringLiteral("d MMM yyyy, hh:mm:ss"),
+
+ QStringLiteral("d MMMM yyyy"),
+ QStringLiteral("d MMMM yyyy hh:mm"),
+ QStringLiteral("d MMMM yyyy hh:mm:ss"),
+ QStringLiteral("d MMMM yyyy, hh:mm"),
+ QStringLiteral("d MMMM yyyy, hh:mm:ss"),
+
+ QStringLiteral("d MMM, yyyy"),
+ QStringLiteral("d MMM, yyyy hh:mm"),
+ QStringLiteral("d MMM, yyyy hh:mm:ss"),
+
+ QStringLiteral("d MMMM, yyyy"),
+ QStringLiteral("d MMMM, yyyy hh:mm"),
+ QStringLiteral("d MMMM, yyyy hh:mm:ss"),
+ };
+
+ for (uint i = 0; i < sizeof(formats) / sizeof(formats[0]); ++i) {
+ const QString &format(formats[i]);
dt = format.indexOf(QLatin1String("hh:mm")) < 0
? QDateTime(QDate::fromString(s, format),
QTime(0, 0, 0), Qt::UTC)