ncurses 5.6 - patch 20080913
[ncurses.git] / progs / tset.c
index 6ce3f50b8f49986b9e60199b02b6c95c3523a289..797dee9f749684f396e04ea8fa7af14d6dedb9b9 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2007,2008 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            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -73,6 +73,7 @@
  * SUCH DAMAGE.
  */
 
  * SUCH DAMAGE.
  */
 
+#define USE_LIBTINFO
 #define __INTERNAL_CAPS_VISIBLE        /* we need to see has_hardware_tabs */
 #include <progs.priv.h>
 
 #define __INTERNAL_CAPS_VISIBLE        /* we need to see has_hardware_tabs */
 #include <progs.priv.h>
 
@@ -103,7 +104,7 @@ char *ttyname(int fd);
 #include <dump_entry.h>
 #include <transform.h>
 
 #include <dump_entry.h>
 #include <transform.h>
 
-MODULE_ID("$Id: tset.c,v 1.67 2006/09/16 17:51:10 tom Exp $")
+MODULE_ID("$Id: tset.c,v 1.74 2008/09/13 18:55:15 tom Exp $")
 
 extern char **environ;
 
 
 extern char **environ;
 
@@ -167,7 +168,7 @@ failed(const char *msg)
     char temp[BUFSIZ];
     unsigned len = strlen(_nc_progname) + 2;
 
     char temp[BUFSIZ];
     unsigned len = strlen(_nc_progname) + 2;
 
-    if (len < sizeof(temp) - 12) {
+    if ((int) len < (int) sizeof(temp) - 12) {
        strcpy(temp, _nc_progname);
        strcat(temp, ": ");
     } else {
        strcpy(temp, _nc_progname);
        strcat(temp, ": ");
     } else {
@@ -439,11 +440,15 @@ add_mapping(const char *port, char *arg)
        mapp->conditional = ~mapp->conditional & (EQ | GT | LT);
 
     /* If user specified a port with an option flag, set it. */
        mapp->conditional = ~mapp->conditional & (EQ | GT | LT);
 
     /* If user specified a port with an option flag, set it. */
-  done:if (port) {
-       if (mapp->porttype)
-         badmopt:err("illegal -m option format: %s", copy);
+  done:
+    if (port) {
+       if (mapp->porttype) {
+         badmopt:
+           err("illegal -m option format: %s", copy);
+       }
        mapp->porttype = port;
     }
        mapp->porttype = port;
     }
+    free(copy);
 #ifdef MAPDEBUG
     (void) printf("port: %s\n", mapp->porttype ? mapp->porttype : "ANY");
     (void) printf("type: %s\n", mapp->type);
 #ifdef MAPDEBUG
     (void) printf("port: %s\n", mapp->porttype ? mapp->porttype : "ANY");
     (void) printf("type: %s\n", mapp->type);
@@ -777,7 +782,22 @@ reset_mode(void)
                      | OFDEL
 #endif
 #ifdef NLDLY
                      | OFDEL
 #endif
 #ifdef NLDLY
-                     | NLDLY | CRDLY | TABDLY | BSDLY | VTDLY | FFDLY
+                     | NLDLY
+#endif
+#ifdef CRDLY
+                     | CRDLY
+#endif
+#ifdef TABDLY
+                     | TABDLY
+#endif
+#ifdef BSDLY
+                     | BSDLY
+#endif
+#ifdef VTDLY
+                     | VTDLY
+#endif
+#ifdef FFDLY
+                     | FFDLY
 #endif
        );
 
 #endif
        );
 
@@ -847,13 +867,13 @@ set_control_chars(void)
 {
 #ifdef TERMIOS
     if (DISABLED(mode.c_cc[VERASE]) || terasechar >= 0)
 {
 #ifdef TERMIOS
     if (DISABLED(mode.c_cc[VERASE]) || terasechar >= 0)
-       mode.c_cc[VERASE] = terasechar >= 0 ? terasechar : default_erase();
+       mode.c_cc[VERASE] = (terasechar >= 0) ? terasechar : default_erase();
 
     if (DISABLED(mode.c_cc[VINTR]) || intrchar >= 0)
 
     if (DISABLED(mode.c_cc[VINTR]) || intrchar >= 0)
-       mode.c_cc[VINTR] = intrchar >= 0 ? intrchar : CINTR;
+       mode.c_cc[VINTR] = (intrchar >= 0) ? intrchar : CINTR;
 
     if (DISABLED(mode.c_cc[VKILL]) || tkillchar >= 0)
 
     if (DISABLED(mode.c_cc[VKILL]) || tkillchar >= 0)
-       mode.c_cc[VKILL] = tkillchar >= 0 ? tkillchar : CKILL;
+       mode.c_cc[VKILL] = (tkillchar >= 0) ? tkillchar : CKILL;
 #endif
 }
 
 #endif
 }
 
@@ -1112,9 +1132,9 @@ usage(void)
 static char
 arg_to_char(void)
 {
 static char
 arg_to_char(void)
 {
-    return (optarg[0] == '^' && optarg[1] != '\0')
-       ? ((optarg[1] == '?') ? '\177' : CTRL(optarg[1]))
-       : optarg[0];
+    return (char) ((optarg[0] == '^' && optarg[1] != '\0')
+                  ? ((optarg[1] == '?') ? '\177' : CTRL(optarg[1]))
+                  : optarg[0]);
 }
 
 int
 }
 
 int
@@ -1129,7 +1149,7 @@ main(int argc, char **argv)
 
     obsolete(argv);
     noinit = noset = quiet = Sflag = sflag = showterm = 0;
 
     obsolete(argv);
     noinit = noset = quiet = Sflag = sflag = showterm = 0;
-    while ((ch = getopt(argc, argv, "a:cd:e:Ii:k:m:np:qQSrsVw")) != EOF) {
+    while ((ch = getopt(argc, argv, "a:cd:e:Ii:k:m:np:qQSrsVw")) != -1) {
        switch (ch) {
        case 'c':               /* set control-chars */
            opt_c = TRUE;
        switch (ch) {
        case 'c':               /* set control-chars */
            opt_c = TRUE;
@@ -1202,9 +1222,9 @@ main(int argc, char **argv)
     can_restore = TRUE;
     original = oldmode = mode;
 #ifdef TERMIOS
     can_restore = TRUE;
     original = oldmode = mode;
 #ifdef TERMIOS
-    ospeed = cfgetospeed(&mode);
+    ospeed = (NCURSES_OSPEED) cfgetospeed(&mode);
 #else
 #else
-    ospeed = mode.sg_ospeed;
+    ospeed = (NCURSES_OSPEED) mode.sg_ospeed;
 #endif
 
     if (!strcmp(_nc_progname, PROG_RESET)) {
 #endif
 
     if (!strcmp(_nc_progname, PROG_RESET)) {
@@ -1277,7 +1297,7 @@ main(int argc, char **argv)
         * environmental variable SHELL ending in "csh".
         */
        if ((var = getenv("SHELL")) != 0
         * environmental variable SHELL ending in "csh".
         */
        if ((var = getenv("SHELL")) != 0
-           && ((len = strlen(leaf = _nc_basename(var))) >= 3)
+           && ((len = (int) strlen(leaf = _nc_basename(var))) >= 3)
            && !strcmp(leaf + len - 3, "csh"))
            p = "set noglob;\nsetenv TERM %s;\nunset noglob;\n";
        else
            && !strcmp(leaf + len - 3, "csh"))
            p = "set noglob;\nsetenv TERM %s;\nunset noglob;\n";
        else