Source

/* Interface from Emacs to terminfo. Copyright (C) 1985, 1986 Free Software Foundation, Inc.This file is part of GNU Emacs.GNU Emacs is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2, or (at your option)any later version.GNU Emacs is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with GNU Emacs; see the file COPYING. If not, write tothe Free Software Foundation, Inc., 59 Temple Place - Suite 330,Boston, MA 02111-1307, USA. *//* 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>#endifchar*UP,*BC,PC;#ifdef HAVE_TERMIOS_H# include <termios.h>speed_tospeed;#elseshortospeed;#endifstaticbuffer[512];/* Interface to curses/terminfo library. Turns out that all of the terminfo-level routines look like their termcap counterparts except for tparm, which replaces tgoto. Not only is the calling sequence different, but the string format is different too.*/char*tparam(string,outstring,len,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9)char*string;char*outstring;intarg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9;{char*temp;externchar*tparm();temp=tparm(string,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9);if(outstring==0)outstring=((char*)(malloc((strlen(temp))+1)));strcpy(outstring,temp);returnoutstring;}