diff options
author | Edward Welbourne <edward.welbourne@qt.io> | 2016-12-15 11:40:39 +0100 |
---|---|---|
committer | Edward Welbourne <edward.welbourne@qt.io> | 2017-03-28 18:58:32 +0000 |
commit | 1d18414646a01f3cac503e6818fae06ae8bff345 (patch) | |
tree | 99053f1ace18c0e03964525ca311c25836ff18e6 /src | |
parent | 4b62d7ba9e0e38b5f8e3c66811b5e53da67f49a3 (diff) |
QDateTimeParser: tidy up reading of numeric parts of a date
Make some variables more local.
Make a loop simpler (and run it earlier).
Change-Id: I28c0c933b2a6599973d70d66105da6046189d8eb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/tools/qdatetimeparser.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/corelib/tools/qdatetimeparser.cpp b/src/corelib/tools/qdatetimeparser.cpp index 62dd25e072..4ec82c1dab 100644 --- a/src/corelib/tools/qdatetimeparser.cpp +++ b/src/corelib/tools/qdatetimeparser.cpp @@ -713,7 +713,6 @@ int QDateTimeParser::parseSection(const QDateTime ¤tValue, int sectionInde const int sectionmaxsize = sectionMaxSize(sectionIndex); QStringRef sectionTextRef = text.midRef(index, sectionmaxsize); - int sectiontextSize = sectionTextRef.size(); QDTPDEBUG << "sectionValue for" << sn.name() << "with text" << text << "and st" << sectionTextRef @@ -784,26 +783,25 @@ int QDateTimeParser::parseSection(const QDateTime ¤tValue, int sectionInde case MinuteSection: case SecondSection: case MSecSection: { + int sectiontextSize = sectionTextRef.size(); if (sectiontextSize == 0) { num = 0; used = 0; state = Intermediate; } else { + for (int i = 0; i < sectiontextSize; ++i) { + if (sectionTextRef.at(i).isSpace()) + sectiontextSize = i; // which exits the loop + } + const int absMax = absoluteMax(sectionIndex); QLocale loc; bool ok = true; int last = -1; used = -1; - QStringRef digitsStr = sectionTextRef; - for (int i = 0; i < sectiontextSize; ++i) { - if (digitsStr.at(i).isSpace()) { - sectiontextSize = i; - break; - } - } - const int max = qMin(sectionmaxsize, sectiontextSize); + QStringRef digitsStr = sectionTextRef.left(max); for (int digits = max; digits >= 1; --digits) { digitsStr.truncate(digits); int tmp = (int)loc.toUInt(digitsStr, &ok); |