]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - progs/tic.c
ncurses 6.1 - patch 20190727
[ncurses.git] / progs / tic.c
index e0dab0706e98b09862d6e62d1f0cab4cd411bb44..2f3b5877b1557f464d5bf6328d0a9726fd7000a2 100644 (file)
@@ -48,7 +48,7 @@
 #include <parametrized.h>
 #include <transform.h>
 
-MODULE_ID("$Id: tic.c,v 1.275 2019/05/04 14:41:06 tom Exp $")
+MODULE_ID("$Id: tic.c,v 1.278 2019/07/27 22:44:21 tom Exp $")
 
 #define STDIN_NAME "<stdin>"
 
@@ -1024,10 +1024,14 @@ main(int argc, char *argv[])
                    if (!quiet) {
                        (void) fseek(tmp_fp, qp->cstart, SEEK_SET);
                        while (j-- > 0) {
-                           if (infodump)
-                               (void) putchar(fgetc(tmp_fp));
-                           else
-                               put_translate(fgetc(tmp_fp));
+                           int ch = fgetc(tmp_fp);
+                           if (ch == EOF || ferror(tmp_fp)) {
+                               break;
+                           } else if (infodump) {
+                               (void) putchar(ch);
+                           } else {
+                               put_translate(ch);
+                           }
                        }
                    }
 
@@ -1939,7 +1943,7 @@ check_params(TERMTYPE2 *tp, const char *name, char *value, int extended)
 #if NCURSES_XNAMES
     if (extended) {
        int check = is_user_capability(name);
-       if (check != actual) {
+       if (check != actual && (check >= 0 && actual >= 0)) {
            _nc_warning("extended %s capability has %d parameters, expected %d",
                        name, actual, check);
        } else if (debug_level > 1) {
@@ -2930,6 +2934,11 @@ check_termtype(TERMTYPE2 *tp, bool literal)
     check_printer(tp);
     check_screen(tp);
 
+    /*
+     * These are probably both or none.
+     */
+    PAIRED(parm_index, parm_rindex);
+
     /*
      * These may be mismatched because the terminal description relies on
      * restoring the cursor visibility by resetting it.