diff --git a/src/corelib/time/qdatetimeparser.cpp b/src/corelib/time/qdatetimeparser.cpp index 5c3574f3789..aff78eae2f6 100644 --- a/src/corelib/time/qdatetimeparser.cpp +++ b/src/corelib/time/qdatetimeparser.cpp @@ -11,6 +11,7 @@ #include "qset.h" #include "qtimezone.h" #include "qvarlengtharray.h" +#include "private/qlocale_p.h" #include "private/qstringiterator_p.h" #include "private/qtenvironmentvariables_p.h" @@ -398,14 +399,10 @@ static QString unquote(QStringView str) static inline int countRepeat(QStringView str, int index, int maxCount) { str = str.sliced(index); - if (maxCount > str.size()) - maxCount = str.size(); + if (maxCount < str.size()) + str = str.first(maxCount); - const QChar ch(str[0]); - int count = 1; - while (count < maxCount && str[count] == ch) - ++count; - return count; + return qt_repeatCount(str); } static inline void appendSeparator(QStringList *list, QStringView string,