ncurses 5.7 - patch 20100116
[ncurses.git] / ncurses / base / keyok.c
index 706e540568ce958a12fd8d68f01c5c2e35eba3b5..0eacf49263001aa9c2b7388860605c8ad7d91baf 100644 (file)
@@ -33,7 +33,7 @@
 
 #include <curses.priv.h>
 
-MODULE_ID("$Id: keyok.c,v 1.8 2009/02/15 00:31:38 tom Exp $")
+MODULE_ID("$Id: keyok.c,v 1.10 2009/10/24 22:15:47 tom Exp $")
 
 /*
  * Enable (or disable) ncurses' interpretation of a keycode by adding (or
@@ -49,12 +49,17 @@ NCURSES_EXPORT(int)
 NCURSES_SP_NAME(keyok) (NCURSES_SP_DCLx int c, bool flag)
 {
     int code = ERR;
-    int count = 0;
-    char *s;
 
+    T((T_CALLED("keyok(%p, %d,%d)"), (void *) SP_PARM, c, flag));
+#ifdef USE_TERM_DRIVER
+    code = CallDriver_2(sp, kyOk, c, flag);
+#else
     T((T_CALLED("keyok(%d,%d)"), c, flag));
     if (c >= 0) {
+       int count = 0;
+       char *s;
        unsigned ch = (unsigned) c;
+
        if (flag) {
            while ((s = _nc_expand_try(SP_PARM->_key_ok, ch, &count, 0)) != 0
                   && _nc_remove_key(&(SP_PARM->_key_ok), ch)) {
@@ -75,6 +80,7 @@ NCURSES_SP_NAME(keyok) (NCURSES_SP_DCLx int c, bool flag)
            }
        }
     }
+#endif
     returnCode(code);
 }