Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

RE: HP-UX 11.00 tgetenv dilemma



[Moved to zsh-workers]

>
> HP-UX 11.00 has two man pages discussing tgetent.  'man termcap'
> says:
>
> =======================================================(quote)
>         :
> tgetent()       ...tgetent() returns -1 if it cannot
>                 access the terminfo directory, 0 if there is no
>                 capability file for name, and 1 if all goes
> well.
>         :
> =======================================================(unquote)
>
> but 'man tgetent' says
>
>
> =======================================================(quote)
> 	:
> RETURN VALUE
>       Upon successful completion, functions that return an
>       integer return OK(0).  Otherwise, they return ERR(-1).
>
>       Functions that return pointers return a null pointer on
>       error.
> 	:
> =======================================================(unquote)
>
> The code in init.c, init_term() requires the man termcap
> functionality.  HP claims that the man tgetent functionality is
> the true X-Open Standard.  (I have not confirmed this.)
>

SUS says OK or ERR. It does not define the values. Interesting, I looked on
my own system and here manual says the same but tgetent() still works the
way zsh expects it.

> We can solve the problem in two ways.
>
> 1. If we link with -lHcurses, we get tgetent to return the
> expected 1 with success.  I suppose this would be done in the
> configure script.  This library may not be around for the
> future.
>
> 2. If the X-Open Standard is truely as HP claims, we can add
> another #ifdef block to the existing TGETENT_ACCEPTS_NULL to
> work with this situation.  Then we link with -lcurses as the
> current configure script does.
>

Pretty hard to figure out automatically.

3. Use setupterm if compiled with curses (or just if available) and tgetent
otherwise. The above problem should happen only on systems with terminfo and
setupterem must be there.

-andrej



Messages sorted by: Reverse Date, Date, Thread, Author