X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Fbase%2Flib_getch.c;h=e228355a019ea38a9bd1aaac92a471a0698ff4f9;hp=cfec16e61815a61bc7b1767e9905d8c40af35bc0;hb=26522e4669dbf45cba32138b5d81c6c292e88e60;hpb=b94faec6aab7c3613c1e7d217f6df6f42d929234 diff --git a/ncurses/base/lib_getch.c b/ncurses/base/lib_getch.c index cfec16e6..e228355a 100644 --- a/ncurses/base/lib_getch.c +++ b/ncurses/base/lib_getch.c @@ -42,16 +42,21 @@ #include -MODULE_ID("$Id: lib_getch.c,v 1.101 2009/02/28 19:16:40 tom Exp $") +MODULE_ID("$Id: lib_getch.c,v 1.103 2009/05/30 15:50:47 tom Exp $") #include #if USE_REENTRANT #define GetEscdelay(sp) (sp)->_ESCDELAY +NCURSES_EXPORT(int *) +_nc_ptr_Escdelay(SCREEN *sp) +{ + return ptrEscdelay(sp); +} NCURSES_EXPORT(int) NCURSES_PUBLIC_VAR(ESCDELAY) (void) { - return SP ? GetEscdelay(SP) : 1000; + return *_nc_ptr_Escdelay(CURRENT_SCREEN); } #else #define GetEscdelay(sp) ESCDELAY @@ -185,7 +190,7 @@ fifo_push(SCREEN *sp EVENTLIST_2nd(_nc_eventlist * evl)) if (mask & TW_EVENT) { T(("fifo_push: ungetch KEY_EVENT")); - _nc_ungetch(sp, KEY_EVENT); + safe_ungetch(sp, KEY_EVENT); return KEY_EVENT; } #elif USE_GPM_SUPPORT || USE_EMX_MOUSE || USE_SYSMOUSE @@ -372,9 +377,9 @@ _nc_wgetch(WINDOW *win, #ifdef NCURSES_WGETCH_EVENTS if (rc != KEY_EVENT) #endif - _nc_ungetch(sp, '\n'); + safe_ungetch(sp, '\n'); for (bufp = buf + strlen(buf); bufp > buf; bufp--) - _nc_ungetch(sp, bufp[-1]); + safe_ungetch(sp, bufp[-1]); #ifdef NCURSES_WGETCH_EVENTS /* Return it first */ @@ -456,7 +461,7 @@ _nc_wgetch(WINDOW *win, || !sp->_mouse_parse(sp, runcount))); #ifdef NCURSES_WGETCH_EVENTS if ((rc & TW_EVENT) && !(ch == KEY_EVENT)) { - _nc_ungetch(sp, ch); + safe_ungetch(sp, ch); ch = KEY_EVENT; } #endif @@ -464,12 +469,12 @@ _nc_wgetch(WINDOW *win, #ifdef NCURSES_WGETCH_EVENTS /* mouse event sequence ended by an event, report event */ if (ch == KEY_EVENT) { - _nc_ungetch(sp, KEY_MOUSE); /* FIXME This interrupts a gesture... */ + safe_ungetch(sp, KEY_MOUSE); /* FIXME This interrupts a gesture... */ } else #endif { /* mouse event sequence ended by keystroke, store keystroke */ - _nc_ungetch(sp, ch); + safe_ungetch(sp, ch); ch = KEY_MOUSE; } }