On 2025-11-23 16:48 +0100, Chris Hofstaedtler wrote:
> Control: retitle -1 ncurses: API/ABI break for tigetflag return value on
> unsigned char archs
> Control: severity -1 serious
>
> * Chris Hofstaedtler <[email protected]> [251123 16:45]:
>>I see patch 20251101 changed the definition of ABSENT_BOOLEAN from
>> ((signed char)-1) to
>> ((NCURSES_SBOOL)-1)
>>
>> While configure.in detects the possibility of using `signed char`
>> for `NCURSES_SBOOL`, I think by default it uses `char` (without
>> --enable-signed-char).
>
> I think this is an unintentional ABI break on unsigned-char archs, and
> also all binaries which were compiled using 20251101 or newer need to
> be recompiled(!).
I do not think it is that bad, because ABSENT_BOOLEAN is defined in
tic.h which nobody uses. There will likely be more runtime problems
because of the incorrect tigetflag() return value for missing
capabilities, though.
> Raising severity for awareness.
I agree on that. Many thanks for your analysis!
Cheers,
Sven