ncurses 5.7 - patch 20090214
[ncurses.git] / ncurses / base / keyok.c
index ad8988cded3bf52b4cb9fc0da63192bb31b316a2..706e540568ce958a12fd8d68f01c5c2e35eba3b5 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998-2000,2006 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2006,2009 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
  ****************************************************************************/
 
 /****************************************************************************
- *  Author: Thomas E. Dickey            1997-on                             *
+ *  Author: Thomas E. Dickey                        1997-on                 *
+ *     and: Juergen Pfeifer                         2009                    *
  ****************************************************************************/
 
 #include <curses.priv.h>
 
-MODULE_ID("$Id: keyok.c,v 1.7 2006/12/30 16:22:33 tom Exp $")
+MODULE_ID("$Id: keyok.c,v 1.8 2009/02/15 00:31:38 tom Exp $")
 
 /*
  * Enable (or disable) ncurses' interpretation of a keycode by adding (or
@@ -45,7 +46,7 @@ MODULE_ID("$Id: keyok.c,v 1.7 2006/12/30 16:22:33 tom Exp $")
  */
 
 NCURSES_EXPORT(int)
-keyok(int c, bool flag)
+NCURSES_SP_NAME(keyok) (NCURSES_SP_DCLx int c, bool flag)
 {
     int code = ERR;
     int count = 0;
@@ -55,18 +56,18 @@ keyok(int c, bool flag)
     if (c >= 0) {
        unsigned ch = (unsigned) c;
        if (flag) {
-           while ((s = _nc_expand_try(SP->_key_ok, ch, &count, 0)) != 0
-                  && _nc_remove_key(&(SP->_key_ok), ch)) {
-               code = _nc_add_to_try(&(SP->_keytry), s, ch);
+           while ((s = _nc_expand_try(SP_PARM->_key_ok, ch, &count, 0)) != 0
+                  && _nc_remove_key(&(SP_PARM->_key_ok), ch)) {
+               code = _nc_add_to_try(&(SP_PARM->_keytry), s, ch);
                free(s);
                count = 0;
                if (code != OK)
                    break;
            }
        } else {
-           while ((s = _nc_expand_try(SP->_keytry, ch, &count, 0)) != 0
-                  && _nc_remove_key(&(SP->_keytry), ch)) {
-               code = _nc_add_to_try(&(SP->_key_ok), s, ch);
+           while ((s = _nc_expand_try(SP_PARM->_keytry, ch, &count, 0)) != 0
+                  && _nc_remove_key(&(SP_PARM->_keytry), ch)) {
+               code = _nc_add_to_try(&(SP_PARM->_key_ok), s, ch);
                free(s);
                count = 0;
                if (code != OK)
@@ -76,3 +77,11 @@ keyok(int c, bool flag)
     }
     returnCode(code);
 }
+
+#if NCURSES_SP_FUNCS
+NCURSES_EXPORT(int)
+keyok(int c, bool flag)
+{
+    return NCURSES_SP_NAME(keyok) (CURRENT_SCREEN, c, flag);
+}
+#endif