bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ugly tinfo ABI problem


From: Thomas Dickey
Subject: Re: ugly tinfo ABI problem
Date: Mon, 17 Jan 2005 06:01:23 -0500 (EST)

On Mon, 17 Jan 2005, Stanislav Ievlev wrote:

In current snapshot libtinfo and libtinfow are binary incompatible,
because structures "screen" and "SLK" use NCURSES_CH_T type.

In our distribution (ALT Linux) we are using scheme with separate tinfo as a
replacement of libtermcap (shared library ncurses + shared library tinfo).
So we have an applications that use libtinfo library only.

So in unicode enviroment we will have two version of tinfo library. Some
of applications will be linked with libtinfow, and others with libtinfo.

We supports both unicode and non-unicode enviroments, so we will have a big
problems.

Why "terminal information" library depends on build type: widechar or
nonwidechar?
"libtinfo" must be a replacement of "libtermcap",but it will not be such
replacement until ABI problem above exist.

The particular problem I was working on was to add bits to the color information (something that I overlooked in the initial changes for libncursesw but should have been part of it). So far I've merged in about 1/3 of the changes to do this.

The pieces you see are the ones that increase the storage.  There's
also a piece to add on the end of WINDOW, to ensure that offsets remain
the same - so I intended handling that as a special case.  I can do the
same for SCREEN (hadn't thought it necessary).  I'm not sure about the
impact on SLK until I can review the code.  But it sounds as if I should
make special cases for all three.

Could you fix it?

probably - I hadn't thought about that part of the problem when I started
this.  Generally I'd like to keep the lower-level compatible - not struct
sizes, but offsets.  Keeping the color extension in a separate location
will make it more complicated though.

--
Thomas E. Dickey
http://invisible-island.net
ftp://invisible-island.net




reply via email to

[Prev in Thread] Current Thread [Next in Thread]