From cb5c24fa26142edaff8fd2c9787dbe45c222b4ff Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 14 Sep 2018 17:38:53 -0700 Subject: Fix integer overflow in very long sections in ELF objects The source is an ElfXX_Off, which is an unsigned 32- or 64-bit. That means any section bigger than 2 GB would cause an overflow when we assigned in m_stringTableFileOffset = strtab.offset; Change-Id: Ib47c56818178458a88b4fffd15546bd47a89894e Fixes: QTBUG-70560 Reviewed-by: Olivier Goffart (Woboq GmbH) --- src/corelib/plugin/qelfparser_p.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/corelib') diff --git a/src/corelib/plugin/qelfparser_p.h b/src/corelib/plugin/qelfparser_p.h index 1d3578255f..cdf055329d 100644 --- a/src/corelib/plugin/qelfparser_p.h +++ b/src/corelib/plugin/qelfparser_p.h @@ -84,7 +84,7 @@ public: int m_endian; int m_bits; - int m_stringTableFileOffset; + qelfoff_t m_stringTableFileOffset; template T read(const char *s) -- cgit v1.2.3 From 8aa9bb6d3fcb45579f3dc45c5bdef6d33a9f9d24 Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Sat, 15 Sep 2018 01:06:11 +0200 Subject: Clarify docs regarding the states of a QFutureWatcher with no future set MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTBUG-55554 Change-Id: I49b475a95d8ee65864cfa6d1024cb17cfe648b43 Reviewed-by: Topi Reiniƶ --- src/corelib/thread/qfuturewatcher.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/corelib') diff --git a/src/corelib/thread/qfuturewatcher.cpp b/src/corelib/thread/qfuturewatcher.cpp index 5b68af1fbc..faeb6b3a28 100644 --- a/src/corelib/thread/qfuturewatcher.cpp +++ b/src/corelib/thread/qfuturewatcher.cpp @@ -98,7 +98,9 @@ QT_BEGIN_NAMESPACE /*! \fn template QFutureWatcher::QFutureWatcher(QObject *parent) - Constructs a new QFutureWatcher with the given \a parent. + Constructs a new QFutureWatcher with the given \a parent. Until a future is + set with setFuture(), the functions isStarted(), isCanceled(), and + isFinished() return \c true. */ QFutureWatcherBase::QFutureWatcherBase(QObject *parent) :QObject(*new QFutureWatcherBasePrivate, parent) @@ -241,7 +243,7 @@ QString QFutureWatcherBase::progressText() const /*! \fn template bool QFutureWatcher::isStarted() const Returns \c true if the asynchronous computation represented by the future() - has been started; otherwise returns \c false. + has been started, or if no future has been set; otherwise returns \c false. */ bool QFutureWatcherBase::isStarted() const { @@ -272,7 +274,7 @@ bool QFutureWatcherBase::isRunning() const /*! \fn template bool QFutureWatcher::isCanceled() const Returns \c true if the asynchronous computation has been canceled with the - cancel() function; otherwise returns \c false. + cancel() function, or if no future has been set; otherwise returns \c false. Be aware that the computation may still be running even though this function returns \c true. See cancel() for more details. -- cgit v1.2.3 From 4fc4f7b0ce0e6ee186a7d7fe9b5dd20e94efe432 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 21 Sep 2018 09:04:24 -0700 Subject: Export qt_open64 from QtCore Other libs use qcore_unix_p.h. qopenglprogrambinarycache.cpp:function QOpenGLProgramBinaryCache::load(QByteArray const&, unsigned int): error: undefined reference to 'qt_open64(char const*, int, unsigned int)' Change-Id: I44e7d800c68141bdaae0fffd155675d15eded2e4 Reviewed-by: Simon Hausmann Reviewed-by: Eric Lemanissier --- src/corelib/kernel/qcore_unix_p.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/corelib') diff --git a/src/corelib/kernel/qcore_unix_p.h b/src/corelib/kernel/qcore_unix_p.h index cb98bef347..5a2a29a327 100644 --- a/src/corelib/kernel/qcore_unix_p.h +++ b/src/corelib/kernel/qcore_unix_p.h @@ -178,7 +178,7 @@ inline void qt_ignore_sigpipe() #if defined(Q_PROCESSOR_X86_32) && defined(__GLIBC__) # if !__GLIBC_PREREQ(2, 22) -int qt_open64(const char *pathname, int flags, mode_t); +Q_CORE_EXPORT int qt_open64(const char *pathname, int flags, mode_t); # undef QT_OPEN # define QT_OPEN qt_open64 # endif -- cgit v1.2.3 From e226b0f94afc85f79d82fc54421487bf2a529ba5 Mon Sep 17 00:00:00 2001 From: Liang Qi Date: Wed, 19 Sep 2018 13:28:13 +0200 Subject: Modernize the "textdate" feature Change-Id: Ic0b6f13e17c301ed66d6a8297c242086c94ac87d Reviewed-by: Edward Welbourne Reviewed-by: Lars Knoll --- src/corelib/global/qconfig-bootstrapped.h | 3 ++- src/corelib/tools/qdatetime.cpp | 24 ++++++++++++------------ src/corelib/tools/qdatetime.h | 4 ++-- src/corelib/tools/qdatetimeparser.cpp | 6 +++--- 4 files changed, 19 insertions(+), 18 deletions(-) (limited to 'src/corelib') diff --git a/src/corelib/global/qconfig-bootstrapped.h b/src/corelib/global/qconfig-bootstrapped.h index c5585ea32a..e5b9cfb05c 100644 --- a/src/corelib/global/qconfig-bootstrapped.h +++ b/src/corelib/global/qconfig-bootstrapped.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2018 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtCore module of the Qt Toolkit. @@ -114,6 +114,7 @@ #define QT_NO_SYSTEMLOCALE #define QT_FEATURE_systemsemaphore -1 #define QT_FEATURE_temporaryfile 1 +#define QT_FEATURE_textdate 1 #define QT_NO_THREAD #define QT_FEATURE_timezone -1 #define QT_FEATURE_topleveldomain -1 diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp index 49e7173de0..341b525b88 100644 --- a/src/corelib/tools/qdatetime.cpp +++ b/src/corelib/tools/qdatetime.cpp @@ -171,7 +171,7 @@ static ParsedDate getDateFromJulianDay(qint64 julianDay) static const char monthDays[] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; -#ifndef QT_NO_TEXTDATE +#if QT_CONFIG(textdate) static const char qt_shortMonthNames[][4] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; @@ -200,7 +200,7 @@ static int fromShortMonthName(const QStringRef &monthName) } return -1; } -#endif // QT_NO_TEXTDATE +#endif // textdate #ifndef QT_NO_DATESTRING struct ParsedRfcDateTime { @@ -613,7 +613,7 @@ int QDate::weekNumber(int *yearNumber) const return week; } -#if QT_DEPRECATED_SINCE(5, 11) && !defined(QT_NO_TEXTDATE) +#if QT_DEPRECATED_SINCE(5, 11) && QT_CONFIG(textdate) /*! \since 4.5 \deprecated @@ -775,11 +775,11 @@ QString QDate::longDayName(int weekday, MonthNameType type) } return QString(); } -#endif // QT_NO_TEXTDATE && deprecated +#endif // textdate && deprecated #ifndef QT_NO_DATESTRING -#ifndef QT_NO_TEXTDATE +#if QT_CONFIG(textdate) static QString toStringTextDate(QDate date) { const ParsedDate pd = getDateFromJulianDay(date.toJulianDay()); @@ -789,7 +789,7 @@ static QString toStringTextDate(QDate date) + QString::number(pd.day) + sp + QString::number(pd.year); } -#endif // QT_NO_TEXTDATE +#endif // textdate static QString toStringIsoDate(qint64 jd) { @@ -865,7 +865,7 @@ QString QDate::toString(Qt::DateFormat format) const case Qt::RFC2822Date: return QLocale::c().toString(*this, QStringViewLiteral("dd MMM yyyy")); default: -#ifndef QT_NO_TEXTDATE +#if QT_CONFIG(textdate) case Qt::TextDate: return toStringTextDate(*this); #endif @@ -1234,7 +1234,7 @@ QDate QDate::fromString(const QString& string, Qt::DateFormat format) case Qt::RFC2822Date: return rfcDateImpl(string).date; default: -#ifndef QT_NO_TEXTDATE +#if QT_CONFIG(textdate) case Qt::TextDate: { QVector parts = string.splitRef(QLatin1Char(' '), QString::SkipEmptyParts); @@ -1255,7 +1255,7 @@ QDate QDate::fromString(const QString& string, Qt::DateFormat format) return QDate(year, month, parts.at(2).toInt()); } -#endif // QT_NO_TEXTDATE +#endif // textdate case Qt::ISODate: { // Semi-strict parsing, must be long enough and have non-numeric separators if (string.size() < 10 || string.at(4).isDigit() || string.at(7).isDigit() @@ -3848,7 +3848,7 @@ QString QDateTime::toString(Qt::DateFormat format) const return buf; } default: -#ifndef QT_NO_TEXTDATE +#if QT_CONFIG(textdate) case Qt::TextDate: { const QPair p = getDateTime(d); buf = p.first.toString(Qt::TextDate); @@ -4827,7 +4827,7 @@ QDateTime QDateTime::fromString(const QString& string, Qt::DateFormat format) date = date.addDays(1); return QDateTime(date, time, spec, offset); } -#if !defined(QT_NO_TEXTDATE) +#if QT_CONFIG(textdate) case Qt::TextDate: { QVector parts = string.splitRef(QLatin1Char(' '), QString::SkipEmptyParts); @@ -4936,7 +4936,7 @@ QDateTime QDateTime::fromString(const QString& string, Qt::DateFormat format) return QDateTime(date, time, Qt::UTC); } } -#endif //QT_NO_TEXTDATE +#endif // textdate } return QDateTime(); diff --git a/src/corelib/tools/qdatetime.h b/src/corelib/tools/qdatetime.h index 5a7b75db62..399fba4413 100644 --- a/src/corelib/tools/qdatetime.h +++ b/src/corelib/tools/qdatetime.h @@ -81,7 +81,7 @@ public: int daysInYear() const; int weekNumber(int *yearNum = nullptr) const; -#if QT_DEPRECATED_SINCE(5, 10) && !defined QT_NO_TEXTDATE +#if QT_DEPRECATED_SINCE(5, 10) && QT_CONFIG(textdate) QT_DEPRECATED_X("Use QLocale::monthName or QLocale::standaloneMonthName") static QString shortMonthName(int month, MonthNameType type = DateFormat); QT_DEPRECATED_X("Use QLocale::dayName or QLocale::standaloneDayName") @@ -90,7 +90,7 @@ public: static QString longMonthName(int month, MonthNameType type = DateFormat); QT_DEPRECATED_X("Use QLocale::dayName or QLocale::standaloneDayName") static QString longDayName(int weekday, MonthNameType type = DateFormat); -#endif // QT_NO_TEXTDATE && deprecated +#endif // textdate && deprecated #ifndef QT_NO_DATESTRING QString toString(Qt::DateFormat f = Qt::TextDate) const; #if QT_STRINGVIEW_LEVEL < 2 diff --git a/src/corelib/tools/qdatetimeparser.cpp b/src/corelib/tools/qdatetimeparser.cpp index d03518e70d..2007cd597b 100644 --- a/src/corelib/tools/qdatetimeparser.cpp +++ b/src/corelib/tools/qdatetimeparser.cpp @@ -612,7 +612,7 @@ int QDateTimeParser::sectionSize(int sectionIndex) const int QDateTimeParser::sectionMaxSize(Section s, int count) const { -#ifndef QT_NO_TEXTDATE +#if QT_CONFIG(textdate) int mcount = 12; #endif @@ -636,14 +636,14 @@ int QDateTimeParser::sectionMaxSize(Section s, int count) const case DaySection: return 2; case DayOfWeekSectionShort: case DayOfWeekSectionLong: -#ifdef QT_NO_TEXTDATE +#if !QT_CONFIG(textdate) return 2; #else mcount = 7; Q_FALLTHROUGH(); #endif case MonthSection: -#ifdef QT_NO_TEXTDATE +#if !QT_CONFIG(textdate) return 2; #else if (count <= 2) -- cgit v1.2.3 From b26cd68bf61346273a5a03bbc1e60a7cdffa4f0d Mon Sep 17 00:00:00 2001 From: Liang Qi Date: Wed, 19 Sep 2018 13:31:18 +0200 Subject: Modernize the "datestring" feature Change-Id: I2236a456fe3758d9054b22e36fe6316f3522d533 Reviewed-by: Lars Knoll Reviewed-by: Edward Welbourne --- src/corelib/global/qconfig-bootstrapped.h | 1 + src/corelib/global/qlibraryinfo.cpp | 4 ++-- src/corelib/global/qlibraryinfo.h | 4 ++-- src/corelib/kernel/qvariant.cpp | 8 ++++---- src/corelib/tools/qdatetime.cpp | 34 ++++++++++++++++--------------- src/corelib/tools/qdatetime.h | 16 +++++++-------- src/corelib/tools/qdatetimeparser.cpp | 14 ++++++------- src/corelib/tools/qdatetimeparser_p.h | 6 +++--- src/corelib/tools/qlocale.cpp | 12 +++++------ src/corelib/tools/qlocale.h | 2 +- 10 files changed, 52 insertions(+), 49 deletions(-) (limited to 'src/corelib') diff --git a/src/corelib/global/qconfig-bootstrapped.h b/src/corelib/global/qconfig-bootstrapped.h index e5b9cfb05c..499fd4c9e8 100644 --- a/src/corelib/global/qconfig-bootstrapped.h +++ b/src/corelib/global/qconfig-bootstrapped.h @@ -77,6 +77,7 @@ #define QT_CRYPTOGRAPHICHASH_ONLY_SHA1 #define QT_FEATURE_cxx11_random (QT_HAS_INCLUDE() ? 1 : -1) #define QT_NO_DATASTREAM +#define QT_FEATURE_datestring 1 #define QT_FEATURE_datetimeparser -1 #define QT_FEATURE_etw -1 #define QT_FEATURE_getauxval (QT_HAS_INCLUDE() ? 1 : -1) diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp index 422d08f32c..e727f00c8e 100644 --- a/src/corelib/global/qlibraryinfo.cpp +++ b/src/corelib/global/qlibraryinfo.cpp @@ -267,7 +267,7 @@ QLibraryInfo::licensedProducts() \deprecated This function used to return the installation date for this build of Qt, but now returns a constant date. */ -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) #if QT_DEPRECATED_SINCE(5, 5) QDate QLibraryInfo::buildDate() @@ -275,7 +275,7 @@ QLibraryInfo::buildDate() return QDate::fromString(QString::fromLatin1(qt_configure_installation + 12), Qt::ISODate); } #endif -#endif //QT_NO_DATESTRING +#endif // datestring #if defined(Q_CC_INTEL) // must be before GNU, Clang and MSVC because ICC/ICL claim to be them # ifdef __INTEL_CLANG_COMPILER diff --git a/src/corelib/global/qlibraryinfo.h b/src/corelib/global/qlibraryinfo.h index 809813d99d..80fc5bd4fc 100644 --- a/src/corelib/global/qlibraryinfo.h +++ b/src/corelib/global/qlibraryinfo.h @@ -56,11 +56,11 @@ public: static QT_DEPRECATED QString licensedProducts(); #endif -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) #if QT_DEPRECATED_SINCE(5, 5) static QT_DEPRECATED QDate buildDate(); #endif // QT_DEPRECATED_SINCE(5, 5) -#endif //QT_NO_DATESTRING +#endif // datestring static const char * build() Q_DECL_NOTHROW; diff --git a/src/corelib/kernel/qvariant.cpp b/src/corelib/kernel/qvariant.cpp index 6192b66487..57c25a9423 100644 --- a/src/corelib/kernel/qvariant.cpp +++ b/src/corelib/kernel/qvariant.cpp @@ -445,7 +445,7 @@ static bool convert(const QVariant::Private *d, int t, void *result, bool *ok) case QVariant::Double: *str = QString::number(d->data.d, 'g', QLocale::FloatingPointShortest); break; -#if !defined(QT_NO_DATESTRING) +#if QT_CONFIG(datestring) case QVariant::Date: *str = v_cast(d)->toString(Qt::ISODate); break; @@ -589,7 +589,7 @@ static bool convert(const QVariant::Private *d, int t, void *result, bool *ok) QDate *dt = static_cast(result); if (d->type == QVariant::DateTime) *dt = v_cast(d)->date(); -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) else if (d->type == QVariant::String) *dt = QDate::fromString(*v_cast(d), Qt::ISODate); #endif @@ -604,7 +604,7 @@ static bool convert(const QVariant::Private *d, int t, void *result, bool *ok) case QVariant::DateTime: *t = v_cast(d)->time(); break; -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) case QVariant::String: *t = QTime::fromString(*v_cast(d), Qt::ISODate); break; @@ -617,7 +617,7 @@ static bool convert(const QVariant::Private *d, int t, void *result, bool *ok) case QVariant::DateTime: { QDateTime *dt = static_cast(result); switch (d->type) { -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) case QVariant::String: *dt = QDateTime::fromString(*v_cast(d), Qt::ISODate); break; diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp index 341b525b88..f5e264798e 100644 --- a/src/corelib/tools/qdatetime.cpp +++ b/src/corelib/tools/qdatetime.cpp @@ -202,7 +202,7 @@ static int fromShortMonthName(const QStringRef &monthName) } #endif // textdate -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) struct ParsedRfcDateTime { QDate date; QTime time; @@ -241,7 +241,7 @@ static ParsedRfcDateTime rfcDateImpl(const QString &s) return result; } -#endif // QT_NO_DATESTRING +#endif // datestring // Return offset in [+-]HH:mm format static QString toOffsetString(Qt::DateFormat format, int offset) @@ -254,6 +254,7 @@ static QString toOffsetString(Qt::DateFormat format, int offset) (qAbs(offset) / 60) % 60); } +#if QT_CONFIG(datestring) // Parse offset in [+-]HH[[:]mm] format static int fromOffsetString(const QStringRef &offsetString, bool *valid) Q_DECL_NOTHROW { @@ -298,6 +299,7 @@ static int fromOffsetString(const QStringRef &offsetString, bool *valid) Q_DECL_ *valid = true; return sign * ((hour * 60) + minute) * 60; } +#endif // datestring /***************************************************************************** QDate member functions @@ -777,7 +779,7 @@ QString QDate::longDayName(int weekday, MonthNameType type) } #endif // textdate && deprecated -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) #if QT_CONFIG(textdate) static QString toStringTextDate(QDate date) @@ -939,7 +941,7 @@ QString QDate::toString(const QString &format) const } #endif -#endif //QT_NO_DATESTRING +#endif // datestring /*! \fn bool QDate::setYMD(int y, int m, int d) @@ -1201,7 +1203,7 @@ qint64 QDate::daysTo(const QDate &d) const \sa QTime::currentTime(), QDateTime::currentDateTime() */ -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) /*! \fn QDate QDate::fromString(const QString &string, Qt::DateFormat format) @@ -1350,7 +1352,7 @@ QDate QDate::fromString(const QString &string, const QString &format) #endif return date; } -#endif // QT_NO_DATESTRING +#endif // datestring /*! \overload @@ -1566,7 +1568,7 @@ int QTime::msec() const return ds() % 1000; } -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) /*! \overload @@ -1702,7 +1704,7 @@ QString QTime::toString(const QString &format) const } #endif -#endif //QT_NO_DATESTRING +#endif // datestring /*! Sets the time to hour \a h, minute \a m, seconds \a s and @@ -1887,7 +1889,7 @@ int QTime::msecsTo(const QTime &t) const operating system; not all systems provide 1-millisecond accuracy. */ -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) static QTime fromIsoTimeString(const QStringRef &string, Qt::DateFormat format, bool *isMidnight24) { @@ -2069,7 +2071,7 @@ QTime QTime::fromString(const QString &string, const QString &format) return time; } -#endif // QT_NO_DATESTRING +#endif // datestring /*! @@ -3773,7 +3775,7 @@ void QDateTime::setTime_t(uint secsSince1Jan1970UTC) } #endif -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) /*! \fn QString QDateTime::toString(Qt::DateFormat format) const @@ -3993,7 +3995,7 @@ QString QDateTime::toString(const QString &format) const } #endif -#endif //QT_NO_DATESTRING +#endif // datestring static inline void massageAdjustedDateTime(const QDateTimeData &d, QDate *date, QTime *time) { @@ -4722,7 +4724,7 @@ int QDateTime::utcOffset() const } #endif // QT_DEPRECATED_SINCE -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) /*! \fn QDateTime QDateTime::fromString(const QString &string, Qt::DateFormat format) @@ -5071,7 +5073,7 @@ QDateTime QDateTime::fromString(const QString &string, const QString &format) return QDateTime(); } -#endif // QT_NO_DATESTRING +#endif // datestring /*! \fn QDateTime QDateTime::toLocalTime() const @@ -5330,7 +5332,7 @@ QDataStream &operator>>(QDataStream &in, QDateTime &dateTime) Date / Time Debug Streams *****************************************************************************/ -#if !defined(QT_NO_DEBUG_STREAM) && !defined(QT_NO_DATESTRING) +#if !defined(QT_NO_DEBUG_STREAM) && QT_CONFIG(datestring) QDebug operator<<(QDebug dbg, const QDate &date) { QDebugStateSaver saver(dbg); @@ -5382,7 +5384,7 @@ QDebug operator<<(QDebug dbg, const QDateTime &date) } return dbg.nospace() << ')'; } -#endif +#endif // debug_stream && datestring /*! \fn uint qHash(const QDateTime &key, uint seed = 0) \relates QHash diff --git a/src/corelib/tools/qdatetime.h b/src/corelib/tools/qdatetime.h index 399fba4413..43271b34ed 100644 --- a/src/corelib/tools/qdatetime.h +++ b/src/corelib/tools/qdatetime.h @@ -91,7 +91,7 @@ public: QT_DEPRECATED_X("Use QLocale::dayName or QLocale::standaloneDayName") static QString longDayName(int weekday, MonthNameType type = DateFormat); #endif // textdate && deprecated -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) QString toString(Qt::DateFormat f = Qt::TextDate) const; #if QT_STRINGVIEW_LEVEL < 2 QString toString(const QString &format) const; @@ -123,7 +123,7 @@ QT_DEPRECATED inline bool setYMD(int y, int m, int d) Q_DECL_CONSTEXPR bool operator>=(const QDate &other) const { return jd >= other.jd; } static QDate currentDate(); -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) static QDate fromString(const QString &s, Qt::DateFormat f = Qt::TextDate); static QDate fromString(const QString &s, const QString &format); #endif @@ -167,7 +167,7 @@ public: int minute() const; int second() const; int msec() const; -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) QString toString(Qt::DateFormat f = Qt::TextDate) const; #if QT_STRINGVIEW_LEVEL < 2 QString toString(const QString &format) const; @@ -192,7 +192,7 @@ public: Q_DECL_CONSTEXPR inline int msecsSinceStartOfDay() const { return mds == NullTime ? 0 : mds; } static QTime currentTime(); -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) static QTime fromString(const QString &s, Qt::DateFormat f = Qt::TextDate); static QTime fromString(const QString &s, const QString &format); #endif @@ -303,7 +303,7 @@ public: void setMSecsSinceEpoch(qint64 msecs); void setSecsSinceEpoch(qint64 secs); -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) QString toString(Qt::DateFormat f = Qt::TextDate) const; #if QT_STRINGVIEW_LEVEL < 2 QString toString(const QString &format) const; @@ -342,7 +342,7 @@ public: static QDateTime currentDateTime(); static QDateTime currentDateTimeUtc(); -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) static QDateTime fromString(const QString &s, Qt::DateFormat f = Qt::TextDate); static QDateTime fromString(const QString &s, const QString &format); #endif @@ -386,7 +386,7 @@ private: friend Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QDateTime &); #endif -#if !defined(QT_NO_DEBUG_STREAM) && !defined(QT_NO_DATESTRING) +#if !defined(QT_NO_DEBUG_STREAM) && QT_CONFIG(datestring) friend Q_CORE_EXPORT QDebug operator<<(QDebug, const QDateTime &); #endif }; @@ -401,7 +401,7 @@ Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QDateTime &); Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QDateTime &); #endif // QT_NO_DATASTREAM -#if !defined(QT_NO_DEBUG_STREAM) && !defined(QT_NO_DATESTRING) +#if !defined(QT_NO_DEBUG_STREAM) && QT_CONFIG(datestring) Q_CORE_EXPORT QDebug operator<<(QDebug, const QDate &); Q_CORE_EXPORT QDebug operator<<(QDebug, const QTime &); Q_CORE_EXPORT QDebug operator<<(QDebug, const QDateTime &); diff --git a/src/corelib/tools/qdatetimeparser.cpp b/src/corelib/tools/qdatetimeparser.cpp index 2007cd597b..18c44c3a17 100644 --- a/src/corelib/tools/qdatetimeparser.cpp +++ b/src/corelib/tools/qdatetimeparser.cpp @@ -77,7 +77,7 @@ QDateTimeParser::~QDateTimeParser() int QDateTimeParser::getDigit(const QDateTime &t, int index) const { if (index < 0 || index >= sectionNodes.size()) { -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) qWarning("QDateTimeParser::getDigit() Internal error (%s %d)", qPrintable(t.toString()), index); #else @@ -103,7 +103,7 @@ int QDateTimeParser::getDigit(const QDateTime &t, int index) const default: break; } -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) qWarning("QDateTimeParser::getDigit() Internal error 2 (%s %d)", qPrintable(t.toString()), index); #else @@ -127,7 +127,7 @@ int QDateTimeParser::getDigit(const QDateTime &t, int index) const bool QDateTimeParser::setDigit(QDateTime &v, int index, int newVal) const { if (index < 0 || index >= sectionNodes.size()) { -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) qWarning("QDateTimeParser::setDigit() Internal error (%s %d %d)", qPrintable(v.toString()), index, newVal); #else @@ -725,7 +725,7 @@ QString QDateTimeParser::sectionText(int sectionIndex) const } -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) QDateTimeParser::ParsedSection QDateTimeParser::parseSection(const QDateTime ¤tValue, int sectionIndex, @@ -1727,7 +1727,7 @@ QDateTimeParser::AmPmFinder QDateTimeParser::findAmPm(QString &str, int sectionI return PossibleBoth; return (!broken[amindex] ? PossibleAM : PossiblePM); } -#endif // QT_NO_DATESTRING +#endif // datestring /*! \internal @@ -1958,7 +1958,7 @@ QString QDateTimeParser::stateName(State s) const } } -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) bool QDateTimeParser::fromString(const QString &t, QDate *date, QTime *time) const { QDateTime val(QDate(1900, 1, 1), QDATETIMEEDIT_TIME_MIN); @@ -1983,7 +1983,7 @@ bool QDateTimeParser::fromString(const QString &t, QDate *date, QTime *time) con } return true; } -#endif // QT_NO_DATESTRING +#endif // datestring QDateTime QDateTimeParser::getMinimum() const { diff --git a/src/corelib/tools/qdatetimeparser_p.h b/src/corelib/tools/qdatetimeparser_p.h index c9e63fe307..f7e6e351fe 100644 --- a/src/corelib/tools/qdatetimeparser_p.h +++ b/src/corelib/tools/qdatetimeparser_p.h @@ -180,7 +180,7 @@ public: LowerCase }; -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) StateNode parse(QString input, int position, const QDateTime &defaultValue, bool fixup) const; bool fromString(const QString &text, QDate *date, QTime *time) const; #endif @@ -202,7 +202,7 @@ public: private: int sectionMaxSize(Section s, int count) const; QString sectionText(const QString &text, int sectionIndex, int index) const; -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) StateNode scanString(const QDateTime &defaultValue, bool fixup, QString *input) const; struct ParsedSection { @@ -237,7 +237,7 @@ private: PossibleBoth = 4 }; AmPmFinder findAmPm(QString &str, int index, int *used = 0) const; -#endif // QT_NO_DATESTRING +#endif // datestring bool potentialValue(const QStringRef &str, int min, int max, int index, const QDateTime ¤tValue, int insert) const; diff --git a/src/corelib/tools/qlocale.cpp b/src/corelib/tools/qlocale.cpp index 89896cdc60..6361280bc7 100644 --- a/src/corelib/tools/qlocale.cpp +++ b/src/corelib/tools/qlocale.cpp @@ -2061,7 +2061,7 @@ QString QLocale::dateTimeFormat(FormatType format) const \sa timeFormat(), toDate(), toDateTime(), QTime::fromString() */ -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) QTime QLocale::toTime(const QString &string, FormatType format) const { return toTime(string, timeFormat(format)); @@ -2079,7 +2079,7 @@ QTime QLocale::toTime(const QString &string, FormatType format) const \sa dateFormat(), toTime(), toDateTime(), QDate::fromString() */ -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) QDate QLocale::toDate(const QString &string, FormatType format) const { return toDate(string, dateFormat(format)); @@ -2098,7 +2098,7 @@ QDate QLocale::toDate(const QString &string, FormatType format) const \sa dateTimeFormat(), toTime(), toDate(), QDateTime::fromString() */ -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) QDateTime QLocale::toDateTime(const QString &string, FormatType format) const { return toDateTime(string, dateTimeFormat(format)); @@ -2116,7 +2116,7 @@ QDateTime QLocale::toDateTime(const QString &string, FormatType format) const \sa timeFormat(), toDate(), toDateTime(), QTime::fromString() */ -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) QTime QLocale::toTime(const QString &string, const QString &format) const { QTime time; @@ -2147,7 +2147,7 @@ QTime QLocale::toTime(const QString &string, const QString &format) const \sa dateFormat(), toTime(), toDateTime(), QDate::fromString() */ -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) QDate QLocale::toDate(const QString &string, const QString &format) const { QDate date; @@ -2178,7 +2178,7 @@ QDate QLocale::toDate(const QString &string, const QString &format) const \sa dateTimeFormat(), toTime(), toDate(), QDateTime::fromString() */ -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) QDateTime QLocale::toDateTime(const QString &string, const QString &format) const { #if QT_CONFIG(datetimeparser) diff --git a/src/corelib/tools/qlocale.h b/src/corelib/tools/qlocale.h index ef7a26ea79..681867d14a 100644 --- a/src/corelib/tools/qlocale.h +++ b/src/corelib/tools/qlocale.h @@ -1001,7 +1001,7 @@ public: QString dateFormat(FormatType format = LongFormat) const; QString timeFormat(FormatType format = LongFormat) const; QString dateTimeFormat(FormatType format = LongFormat) const; -#ifndef QT_NO_DATESTRING +#if QT_CONFIG(datestring) QDate toDate(const QString &string, FormatType = LongFormat) const; QTime toTime(const QString &string, FormatType = LongFormat) const; QDateTime toDateTime(const QString &string, FormatType format = LongFormat) const; -- cgit v1.2.3