[Patches] [ python-Patches-633635 ] Too much chtype in _cursesmodule.c

noreply@sourceforge.net noreply@sourceforge.net
Wed, 06 Nov 2002 06:17:43 -0800


Patches item #633635, was opened at 2002-11-05 00:07
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=633635&group_id=5470

Category: Modules
Group: None
>Status: Closed
Resolution: Accepted
Priority: 5
Submitted By: David M. Cooke (dmcooke)
Assigned to: A.M. Kuchling (akuchling)
Summary: Too much chtype in _cursesmodule.c

Initial Comment:
The C prototype for getch is 'int getch(void)', not
'chtype getch(void)', as assumed by _cursesmodule.c
(the same for ungetch and keyname). [I've checked this
under Linux, SunOS, and Tru64]

keyname() seems to segfault if passed -1, so I've
tested for that.

In addition, according to the docs, the .getch() and
.getkey() methods of a window object should throw an
exception when there isn't any input in nodelay mode
(the C functions return ERR (== -1) in this case). I've
fixed getkey, but not getch, in this patch: since getch
returns an int anyways, it seems better to return -1 on
no input.


----------------------------------------------------------------------

>Comment By: A.M. Kuchling (akuchling)
Date: 2002-11-06 09:17

Message:
Logged In: YES 
user_id=11375

Checked in to CVS; thanks!

----------------------------------------------------------------------

Comment By: David M. Cooke (dmcooke)
Date: 2002-11-05 10:40

Message:
Logged In: YES 
user_id=65069

Sounds good. I've updated the patch. keyname(c) throws a
ValueError on c < 0, and I've fixed the documentation to
mention getch() returns -1 in nodelay mode when there is no
input.

----------------------------------------------------------------------

Comment By: A.M. Kuchling (akuchling)
Date: 2002-11-05 08:25

Message:
Logged In: YES 
user_id=11375

The patch looks OK.  One thing: the patch makes keyname() return an empty string if the character is -1.  My gut feeling is that an exception is better, because -1 really isn't a legal key code.  What do you think?

Once we've resolved that issue, I'll check in the patch.



----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=633635&group_id=5470