From f090a4785b99573dd5a506fec655df1abe347e7c Mon Sep 17 00:00:00 2001 From: Ahmad Samir Date: Tue, 10 Jan 2023 20:53:36 +0200 Subject: [PATCH] QStringConverter: use qt_to_latin1() helper from qstring.cpp This changes the newly-added QLatin1::convertFromUnicode() overload. Change-Id: Ie465f052e711d72e51217b74b5b51a89c5d8b9e7 Reviewed-by: Thiago Macieira --- src/corelib/text/qstring.cpp | 6 ++++++ src/corelib/text/qstringconverter_p.h | 8 +++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/corelib/text/qstring.cpp b/src/corelib/text/qstring.cpp index 5de3043c691..9259d485c15 100644 --- a/src/corelib/text/qstring.cpp +++ b/src/corelib/text/qstring.cpp @@ -5389,6 +5389,12 @@ char16_t *QLatin1::convertToUnicode(char16_t *out, QLatin1StringView in) noexcep return std::next(out, len); } +char *QLatin1::convertFromUnicode(char *out, QStringView in) noexcept +{ + const qsizetype len = in.size(); + qt_to_latin1(reinterpret_cast(out), in.utf16(), len); + return out + len; +} /*! \fn QByteArray QString::toLatin1() const diff --git a/src/corelib/text/qstringconverter_p.h b/src/corelib/text/qstringconverter_p.h index ce6254de0cc..edbe1b54843 100644 --- a/src/corelib/text/qstringconverter_p.h +++ b/src/corelib/text/qstringconverter_p.h @@ -50,11 +50,9 @@ struct QLatin1 } static char *convertFromUnicode(char *out, QStringView in, QStringConverter::State *state) noexcept; - static char *convertFromUnicode(char *out, QStringView in) noexcept - { - QStringConverter::State state{QStringConverter::Flag::Stateless}; - return convertFromUnicode(out, in, &state); - } + + // Defined in qstring.cpp + static char *convertFromUnicode(char *out, QStringView in) noexcept; }; struct QUtf8BaseTraits