X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Ftinfo%2Finit_keytry.c;h=1669c6414c183c256d3905138e20063c92267b6b;hp=9fbb5d1ed84fb90e3c19cc43ab5ce77a8cbf3dfb;hb=HEAD;hpb=7a6bbc8cf41c5186d46accc3d08622dc86526b34 diff --git a/ncurses/tinfo/init_keytry.c b/ncurses/tinfo/init_keytry.c index 9fbb5d1e..ef20dfb1 100644 --- a/ncurses/tinfo/init_keytry.c +++ b/ncurses/tinfo/init_keytry.c @@ -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 #include /* struct tinfo_fkeys */ -#include - -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),