(face-valid-attribute-values): Make sure directories we search for
[bpt/emacs.git] / src / terminfo.c
index eef648b..eed22af 100644 (file)
@@ -18,25 +18,32 @@ along with GNU Emacs; see the file COPYING.  If not, write to
 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
+#include <config.h>
+#include "lisp.h"
+
 /* Define these variables that serve as global parameters to termcap,
    so that we do not need to conditionalize the places in Emacs
    that set them.  */
 
-#include <config.h>
-
-#ifdef USG
-# include <string.h>
-#endif
-
 char *UP, *BC, PC;
-#ifdef HAVE_TERMIOS_H
-# include <termios.h>
-  speed_t ospeed;
+
+#ifdef HAVE_SPEED_T
+#include <termios.h>
+speed_t ospeed;
+#else
+#if defined (HAVE_LIBNCURSES) && ! defined (NCURSES_OSPEED_T)
+short ospeed;
+#else
+#if defined (HAVE_TERMIOS_H) && defined (LINUX)
+#include <termios.h>
+/* HJL's version of libc is said to need this on the Alpha.
+   On the other hand, DEC OSF1 on the Alpha needs ospeed to be a short.  */
+speed_t ospeed;
 #else
-  short ospeed;
+short ospeed;
+#endif
+#endif
 #endif
-
-static buffer[512];
 
 /* Interface to curses/terminfo library.
    Turns out that all of the terminfo-level routines look
@@ -56,7 +63,7 @@ tparam (string, outstring, len, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8,
 
   temp = tparm (string, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
   if (outstring == 0)
-    outstring = ((char *) (malloc ((strlen (temp)) + 1)));
+    outstring = ((char *) (xmalloc ((strlen (temp)) + 1)));
   strcpy (outstring, temp);
   return outstring;
 }