]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - ncurses/tinfo/lib_setup.c
ncurses 5.9 - patch 20121117
[ncurses.git] / ncurses / tinfo / lib_setup.c
index 51030b6b4f03069c280ccb85bd4aa63301979012..83742d5b78baf38c3ea3e58b01e71bc45150df4f 100644 (file)
@@ -48,7 +48,7 @@
 #include <locale.h>
 #endif
 
-MODULE_ID("$Id: lib_setup.c,v 1.149 2012/09/03 16:19:14 tom Exp $")
+MODULE_ID("$Id: lib_setup.c,v 1.151 2012/11/18 00:24:56 tom Exp $")
 
 /****************************************************************************
  *
@@ -636,7 +636,11 @@ TINFO_SETUP_TERM(TERMINAL ** tp,
     if (tname == 0) {
        tname = getenv("TERM");
        if (tname == 0 || *tname == '\0') {
+#ifdef USE_TERM_DRIVER
+           tname = "unknown";
+#else
            ret_error0(TGETENT_ERR, "TERM environment variable not set.\n");
+#endif
        }
     }
 
@@ -777,11 +781,14 @@ TINFO_SETUP_TERM(TERMINAL ** tp,
        if ((VALID_STRING(cursor_address)
             || (VALID_STRING(cursor_down) && VALID_STRING(cursor_home)))
            && VALID_STRING(clear_screen)) {
+           free(termp);
            ret_error1(TGETENT_YES, "terminal is not really generic.\n", tname);
        } else {
+           free(termp);
            ret_error1(TGETENT_NO, "I need something more specific.\n", tname);
        }
     } else if (hard_copy) {
+       free(termp);
        ret_error1(TGETENT_YES, "I can't handle hardcopy terminals.\n", tname);
     }
 #endif