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:
Khem Raj
2026-06-25 06:17:08 +00:00
parent a93093b2d4
commit 884e0c9ff7
2 changed files with 47 additions and 0 deletions
@@ -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"