diff options
Diffstat (limited to 'src/corelib/tools/qstring.h')
-rw-r--r-- | src/corelib/tools/qstring.h | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/src/corelib/tools/qstring.h b/src/corelib/tools/qstring.h index da76601e88..e9a205dfdf 100644 --- a/src/corelib/tools/qstring.h +++ b/src/corelib/tools/qstring.h @@ -320,8 +320,12 @@ public: const QString &a4, const QString &a5, const QString &a6, const QString &a7, const QString &a8, const QString &a9) const; +#if QT_DEPRECATED_SINCE(5, 14) + QT_DEPRECATED_X("Use vasprintf(), arg() or QTextStream instead") QString &vsprintf(const char *format, va_list ap) Q_ATTRIBUTE_FORMAT_PRINTF(2, 0); + QT_DEPRECATED_X("Use asprintf(), arg() or QTextStream instead") QString &sprintf(const char *format, ...) Q_ATTRIBUTE_FORMAT_PRINTF(2, 3); +#endif static QString vasprintf(const char *format, va_list ap) Q_ATTRIBUTE_FORMAT_PRINTF(1, 0); static QString asprintf(const char *format, ...) Q_ATTRIBUTE_FORMAT_PRINTF(1, 2); @@ -1017,12 +1021,7 @@ QT_WARNING_DISABLE_INTEL(111) // "statement is unreachable" inline int QString::toWCharArray(wchar_t *array) const { - if (sizeof(wchar_t) == sizeof(QChar)) { - memcpy(array, d->data(), sizeof(QChar) * size()); - return size(); - } else { - return toUcs4_helper(d->data(), size(), reinterpret_cast<uint *>(array)); - } + return QStringView(*this).toWCharArray(array); } QT_WARNING_POP @@ -1376,14 +1375,12 @@ inline std::wstring QString::toStdWString() const { std::wstring str; str.resize(length()); - -#ifdef Q_CC_MSVC - // VS2005 crashes if the string is empty - if (!length()) - return str; +#if __cplusplus >= 201703L + str.resize(toWCharArray(str.data())); +#else + if (length()) + str.resize(toWCharArray(&str.front())); #endif - - str.resize(toWCharArray(&(*str.begin()))); return str; } |