]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - ncurses/tinfo/parse_entry.c
ncurses 6.2 - patch 20210418
[ncurses.git] / ncurses / tinfo / parse_entry.c
index 23574b6626bfc522120c56a88d50031c1646bf6c..ec2d3364234e8eefd06ec55d0e580330d2189d2d 100644 (file)
@@ -48,7 +48,7 @@
 #include <ctype.h>
 #include <tic.h>
 
-MODULE_ID("$Id: parse_entry.c,v 1.99 2020/02/02 23:34:34 tom Exp $")
+MODULE_ID("$Id: parse_entry.c,v 1.101 2020/10/24 21:37:13 tom Exp $")
 
 #ifdef LINT
 static short const parametrized[] =
@@ -544,10 +544,14 @@ _nc_parse_entry(ENTRY * entryp, int literal, bool silent)
 
            case STRING:
                ptr = _nc_curr_token.tk_valstring;
-               if (_nc_syntax == SYN_TERMCAP)
+               if (_nc_syntax == SYN_TERMCAP) {
+                   int n = entry_ptr->nte_index;
                    ptr = _nc_captoinfo(_nc_curr_token.tk_name,
                                        ptr,
-                                       parametrized[entry_ptr->nte_index]);
+                                       (n < (int) SIZEOF(parametrized))
+                                       ? parametrized[n]
+                                       : 0);
+               }
                entryp->tterm.Strings[entry_ptr->nte_index] = _nc_save_str(ptr);
                break;