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

Re: ncurses & libc6



Miguel de Icaza wrote:
> 
> > I traced a bit some programs and it seems that wrong key codes are sent when
> > I press arrow keys (I got ^[OA instead of ^[[A as expected by ncurses).
> > It is apparently triggered by a call to raw() or keypad() before reading input
> > stream (getch).
> 
> Actually, ^[OA is fine.  This one is sent when the keypad is put on
> application mode.  This is more a problem in terminfo/ncurses.  Your
> ncurses/terminfo is choosing to send this escape sequence.  So, try
> chasing down why this escape sequence is being sent.
> 
> > PS: I'm running sparclinux-2.0.30 & I'm trying to run ncurses-1.9.9g.
> 
> I had the impression that there was a newer, bug-fixed version of
> ncurses, the one that started the ncurses flame war, sorry, I do not
> know where this one is.

Hello Miguel,

I did more test and I think I found one bug related to glibc2:

I packaged snapshot-970629 but it seems that ioctl implementation is wrong:
it provides a header for sparc implementation
(sysdeps/unix/sysv/linux/sparc/bits/ioctls.h) that declares wrong ioctls.
TCGETS/TCSETS... are tagged by 't' instead of 'T' and a wrong id.

---excerpt from ...sparc/bits/ioctls.h---
#define TCGETS  _IOR ('t', 19, struct __kernel_termios)
#define TCSETS  _IOW ('t', 20, struct __kernel_termios)
#define TCSETSW _IOW ('t', 21, struct __kernel_termios)
#define TCSETSF _IOW ('t', 22, struct __kernel_termios)
-----------------------------------------

---excerpt from asm-sparc/ioctls.h---
#define TCGETS      _IOR('T', 8, struct termios)
#define TCSETS      _IOW('T', 9, struct termios)
#define TCSETSW     _IOW('T', 10, struct termios)
#define TCSETSF     _IOW('T', 11, struct termios)
-------------------------------------

I'm thinking of removing ...sparc/bits/ioctls.h in favor of
linux/bits/ioctls.h because, in my opinion, the assertion wrote in the former
is wrong:

/* Oh well, this is necessary since the kernel data structure is
   different from the user-level version.  */

However, struct __kernel_termios (sysdeps/unix/sysv/linux/kernel_termios.h)
and struct termios (sysdeps/unix/sysv/linux/sparc/bits/termios.h) are of same
layout.

Maybe I'm wrong, since comparing ...linux/sparc/bits/termios.h to their alpha
or powerpc counterparts shows apparently that the former is outdated.
In this case, ...linux/sparc/bits/termios.h should be kept but TCGETS, ...
have to be removed.

PS: Miguel, what version of glibc you are working on?

Regards.

-- 
 Eric Delaunay                 | "La guerre justifie l'existence des militaires.
 delaunay@lix.polytechnique.fr | En les supprimant." Henri Jeanson (1900-1970)


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-sparc-request@lists.debian.org . 
Trouble?  e-mail to templin@bucknell.edu .


Reply to: