QNX: assume QNX is always UTF-8

Override locale encoding to UTF-8 on supported platforms.

QNX has nl_langinfo, but the header is not using extern "C". Tests
show that it returns UTF-8 regardless of the locale, so let's assume
it's always UTF-8.

Change-Id: I0fe98f8441287df9f99c334e537a7b962df105f6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
Samuli Piippo 2020-05-25 16:35:01 +03:00
parent 8a0c16ce9f
commit 5781ef2013

View File

@ -73,6 +73,7 @@
#include <private/qlocale_p.h>
#include <private/qlocking_p.h>
#include <private/qhooks_p.h>
#include <private/qtextcodec_p.h>
#ifndef QT_NO_QOBJECT
#if defined(Q_OS_UNIX)
@ -594,7 +595,7 @@ void QCoreApplicationPrivate::initLocale()
return;
qt_locale_initialized = true;
#ifdef Q_OS_ANDROID
#ifdef QT_LOCALE_IS_UTF8
// Android's Bionic didn't get nl_langinfo until NDK 15 (Android 8.0),
// which is too new for Qt, so we just assume it's always UTF-8.
auto nl_langinfo = [](int) { return "UTF-8"; };