mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-07-15 16:07:26 +00:00
libyui-ncurses: fix wchar_t stream to narrow ostream for GCC 16
GCC 16 / libstdc++ implements the C++20 deletion of std::operator<<(std::ostream&, wchar_t). NCtext.cc and NCRichText.cc stream a wchar_t directly into a narrow std::ostream for debug output: NCtext.cc:348:34: error: use of deleted function 'std::basic_ostream<char, _Traits>& std::operator<<(...wchar_t)' Add a patch casting both sites to char (the values are ASCII). Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
+46
@@ -0,0 +1,46 @@
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 25 Jun 2026 00:00:00 +0000
|
||||
Subject: [PATCH] NCurses: cast wchar_t before streaming to narrow ostream
|
||||
|
||||
GCC 16 / libstdc++ implements the C++20 deletion of
|
||||
std::operator<<(std::ostream&, wchar_t). Two debug-output sites stream a
|
||||
wchar_t directly into a narrow std::ostream, which is now ill-formed:
|
||||
|
||||
NCtext.cc:348:34: error: use of deleted function
|
||||
'std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char,
|
||||
_Traits>&, wchar_t)'
|
||||
NCRichText.cc:521:59: error: use of deleted function ... wchar_t ...
|
||||
|
||||
Both values are ASCII characters used purely for debug output, so cast
|
||||
them to char to keep the previous behaviour.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
src/NCRichText.cc | 2 +-
|
||||
src/NCtext.cc | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/src/NCtext.cc
|
||||
+++ b/src/NCtext.cc
|
||||
@@ -345,7 +345,7 @@
|
||||
str << "[label" << obj.size() << ':' << obj[0].str();
|
||||
|
||||
if ( obj.hasHotkey() )
|
||||
- str << ':' << obj.hotkey() << " at " << obj.hotpos();
|
||||
+ str << ':' << static_cast<char>( obj.hotkey() ) << " at " << obj.hotpos();
|
||||
|
||||
return str << ']';
|
||||
}
|
||||
--- a/src/NCRichText.cc
|
||||
+++ b/src/NCRichText.cc
|
||||
@@ -518,7 +518,7 @@
|
||||
break;
|
||||
|
||||
default:
|
||||
- yuiDebug() << "Ignoring " << *wch << std::endl;
|
||||
+ yuiDebug() << "Ignoring " << static_cast<char>( *wch ) << std::endl;
|
||||
}
|
||||
++wch;
|
||||
}
|
||||
@@ -5,6 +5,7 @@ LIC_FILES_CHKSUM = "file://../COPYING.lgpl-3;md5=e6a600fd5e1d9cbde2d983680233ad0
|
||||
"
|
||||
|
||||
SRC_URI = "git://github.com/libyui/libyui.git;branch=master;protocol=https \
|
||||
file://0001-NCurses-cast-wchar_t-before-streaming-to-narrow-ostr.patch \
|
||||
"
|
||||
|
||||
SRC_URI:append:class-target = " file://0001-Fix-the-error-of-can-t-find-header-file.patch"
|
||||
|
||||
Reference in New Issue
Block a user