]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - ncurses/tinfo/init_keytry.c
ncurses 6.4 - patch 20240420
[ncurses.git] / ncurses / tinfo / init_keytry.c
index 9fbb5d1ed84fb90e3c19cc43ab5ce77a8cbf3dfb..ef20dfb1da08539dcead9a7748d2b134ed32b38b 100644 (file)
@@ -1,5 +1,6 @@
 /****************************************************************************
- * Copyright (c) 1999-2008,2009 Free Software Foundation, Inc.              *
+ * Copyright 2020,2023 Thomas E. Dickey                                     *
+ * Copyright 1999-2010,2016 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            *
@@ -29,9 +30,7 @@
 #include <curses.priv.h>
 #include <tic.h>               /* struct tinfo_fkeys */
 
-#include <term_entry.h>
-
-MODULE_ID("$Id: init_keytry.c,v 1.13 2009/04/18 18:53:37 tom Exp $")
+MODULE_ID("$Id: init_keytry.c,v 1.20 2023/09/16 12:55:01 tom Exp $")
 
 /*
 **      _nc_init_keytry()
@@ -45,7 +44,7 @@ MODULE_ID("$Id: init_keytry.c,v 1.13 2009/04/18 18:53:37 tom Exp $")
  * than cur_term.
  */
 #undef CUR
-#define CUR (sp->_term)->type.
+#define CUR SP_TERMTYPE
 
 #if    BROKEN_LINKER
 #undef _nc_tinfo_fkeys
@@ -68,7 +67,7 @@ _nc_tinfo_fkeysf(void)
 NCURSES_EXPORT(void)
 _nc_init_keytry(SCREEN *sp)
 {
-    size_t n;
+    T(("_nc_init_keytry(%p)", (void *) sp));
 
     /* The sp->_keytry value is initialized in newterm(), where the sp
      * structure is created, because we can not tell where keypad() or
@@ -76,6 +75,8 @@ _nc_init_keytry(SCREEN *sp)
      */
 
     if (sp != 0) {
+       unsigned n;
+
        for (n = 0; _nc_tinfo_fkeys[n].code; n++) {
            if (_nc_tinfo_fkeys[n].offset < STRCOUNT) {
                (void) _nc_add_to_try(&(sp->_keytry),
@@ -92,11 +93,11 @@ _nc_init_keytry(SCREEN *sp)
        {
            TERMTYPE *tp = &(sp->_term->type);
            for (n = STRCOUNT; n < NUM_STRINGS(tp); ++n) {
-               const char *name = ExtStrname(tp, n, strnames);
+               const char *name = ExtStrname(tp, (int) n, strnames);
                char *value = tp->Strings[n];
                if (name != 0
                    && *name == 'k'
-                   && value != 0
+                   && VALID_STRING(value)
                    && NCURSES_SP_NAME(key_defined) (NCURSES_SP_ARGx
                                                     value) == 0) {
                    (void) _nc_add_to_try(&(sp->_keytry),