]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - progs/tic.c
ncurses 6.4 - patch 20230423
[ncurses.git] / progs / tic.c
index 6f562126ce2be2bb9f6881f637ffe9d842a6c16d..7ae616777db9ec89ac07b238eb9db7ccc5fb81ee 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright 2018-2021,2022 Thomas E. Dickey                                *
+ * Copyright 2018-2022,2023 Thomas E. Dickey                                *
  * Copyright 1998-2017,2018 Free Software Foundation, Inc.                  *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
@@ -49,7 +49,7 @@
 #include <parametrized.h>
 #include <transform.h>
 
-MODULE_ID("$Id: tic.c,v 1.315 2022/07/02 20:40:22 tom Exp $")
+MODULE_ID("$Id: tic.c,v 1.321 2023/04/08 15:51:57 tom Exp $")
 
 #define STDIN_NAME "<stdin>"
 
@@ -722,7 +722,8 @@ main(int argc, char *argv[])
        sortmode = S_TERMCAP;
     }
 #if NCURSES_XNAMES
-    use_extended_names(FALSE);
+    /* set this directly to avoid interaction with -v and -D options */
+    _nc_user_definable = FALSE;
 #endif
     _nc_strict_bsd = 0;
 
@@ -775,7 +776,7 @@ main(int argc, char *argv[])
            break;
        case 'D':
            debug_level = VtoTrace(v_opt);
-           set_trace_level(debug_level);
+           use_verbosity(debug_level);
            show_databases(outdir);
            ExitProgram(EXIT_SUCCESS);
            break;
@@ -853,7 +854,6 @@ main(int argc, char *argv[])
            _nc_disable_period = TRUE;
            /* FALLTHRU */
        case 'x':
-           use_extended_names(TRUE);
            using_extensions = TRUE;
            break;
 #endif
@@ -863,8 +863,23 @@ main(int argc, char *argv[])
        last_opt = this_opt;
     }
 
+    /*
+     * If the -v option is set, it may override the $NCURSES_TRACE environment
+     * variable, e.g., for -v3 and up.
+     */
     debug_level = VtoTrace(v_opt);
-    set_trace_level(debug_level);
+    use_verbosity(debug_level);
+
+    /*
+     * Do this after setting debug_level, since the function calls START_TRACE,
+     * which uses the $NCURSES_TRACE environment variable if _nc_tracing bits
+     * for tracing are zero.
+     */
+#if NCURSES_XNAMES
+    if (using_extensions) {
+       use_extended_names(TRUE);
+    }
+#endif
 
     if (_nc_tracing) {
        save_check_termtype = _nc_check_termtype2;
@@ -2255,9 +2270,15 @@ check_1_infotocap(const char *name, NCURSES_CONST char *value, int count)
 
     _nc_reset_tparm(NULL);
     switch (actual) {
+    case Str:
+       result = TPARM_1(value, strings[1]);
+       break;
     case Num_Str:
        result = TPARM_2(value, numbers[1], strings[2]);
        break;
+    case Str_Str:
+       result = TPARM_2(value, strings[1], strings[2]);
+       break;
     case Num_Str_Str:
        result = TPARM_3(value, numbers[1], strings[2], strings[3]);
        break;