ncurses 5.7 - patch 20090808
[ncurses.git] / ncurses / tinfo / lib_termname.c
index 57ce807a9e5f5b9c983e55c1fc241353e4156bfa..9163c7cd68a2f01e055bde87e67626173c1c6a4e 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2003,2009 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            *
  ****************************************************************************/
 
 #include <curses.priv.h>
-#include <tic.h>               /* for MAX_ALIAS */
 
-MODULE_ID("$Id: lib_termname.c,v 1.7 2001/08/04 19:29:38 tom Exp $")
+MODULE_ID("$Id: lib_termname.c,v 1.11 2009/02/21 16:37:12 tom Exp $")
 
 NCURSES_EXPORT(char *)
-termname(void)
+NCURSES_SP_NAME(termname) (NCURSES_SP_DCL0)
 {
-    char *name = getenv("TERM");
-    static char ret[MAX_ALIAS + 1];
+    char *name = 0;
 
-    T((T_CALLED("termname()")));
+    T((T_CALLED("termname(%p)"), SP_PARM));
 
-    if (name != 0) {
-       ret[0] = '\0';
-       (void) strncat(ret, name, sizeof(ret) - 1);
-       name = ret;
+#if NCURSES_SP_FUNCS
+    if (TerminalOf(SP_PARM) != 0) {
+       name = TerminalOf(SP_PARM)->_termname;
     }
+#else
+    if (cur_term != 0)
+       name = cur_term->_termname;
+#endif
+
     returnPtr(name);
 }
+
+#if NCURSES_SP_FUNCS
+NCURSES_EXPORT(char *)
+termname(void)
+{
+    return NCURSES_SP_NAME(termname) (CURRENT_SCREEN);
+}
+#endif