Mercurial > emacs
annotate src/terminfo.c @ 23323:0800a4f84757
(underlying_strftime):
Set the buffer to a nonzero value before calling
strftime, and check to see whether strftime has set the buffer to zero.
This lets us distinguish between an empty buffer and an error.
I'm installing this patch by hand now; it will be superseded whenever
the glibc sources are propagated back to fsf.org.
| author | Paul Eggert <eggert@twinsun.com> |
|---|---|
| date | Fri, 25 Sep 1998 21:40:23 +0000 |
| parents | fa9ff387d260 |
| children | 49631c494c10 |
| rev | line source |
|---|---|
| 484 | 1 /* Interface from Emacs to terminfo. |
| 2 Copyright (C) 1985, 1986 Free Software Foundation, Inc. | |
| 3 | |
| 4 This file is part of GNU Emacs. | |
| 5 | |
| 6 GNU Emacs is free software; you can redistribute it and/or modify | |
| 7 it under the terms of the GNU General Public License as published by | |
| 3427 | 8 the Free Software Foundation; either version 2, or (at your option) |
| 484 | 9 any later version. |
| 10 | |
| 11 GNU Emacs is distributed in the hope that it will be useful, | |
| 12 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 14 GNU General Public License for more details. | |
| 15 | |
| 16 You should have received a copy of the GNU General Public License | |
| 17 along with GNU Emacs; see the file COPYING. If not, write to | |
|
14186
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
3427
diff
changeset
|
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
|
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
3427
diff
changeset
|
19 Boston, MA 02111-1307, USA. */ |
| 484 | 20 |
| 16118 | 21 #include <config.h> |
| 22 | |
| 484 | 23 /* Define these variables that serve as global parameters to termcap, |
| 24 so that we do not need to conditionalize the places in Emacs | |
| 25 that set them. */ | |
| 26 | |
| 27 char *UP, *BC, PC; | |
| 16118 | 28 |
|
19023
f7a3c16c49cb
[HAVE_LIBNCURSES]: Declare ospeed as short, unless NCURSES_OSPEED_T.
Richard M. Stallman <rms@gnu.org>
parents:
18808
diff
changeset
|
29 #if defined (HAVE_LIBNCURSES) && ! defined (NCURSES_OSPEED_T) |
|
f7a3c16c49cb
[HAVE_LIBNCURSES]: Declare ospeed as short, unless NCURSES_OSPEED_T.
Richard M. Stallman <rms@gnu.org>
parents:
18808
diff
changeset
|
30 short ospeed; |
|
f7a3c16c49cb
[HAVE_LIBNCURSES]: Declare ospeed as short, unless NCURSES_OSPEED_T.
Richard M. Stallman <rms@gnu.org>
parents:
18808
diff
changeset
|
31 #else |
| 18808 | 32 #if defined (HAVE_TERMIOS_H) && defined (LINUX) |
| 16118 | 33 #include <termios.h> |
|
18660
42cf8e9273ee
(ospeed): Define as short, unless HAVE_TERMIOS_H and LINUX.
Richard M. Stallman <rms@gnu.org>
parents:
16118
diff
changeset
|
34 /* HJL's version of libc is said to need this on the Alpha. |
|
42cf8e9273ee
(ospeed): Define as short, unless HAVE_TERMIOS_H and LINUX.
Richard M. Stallman <rms@gnu.org>
parents:
16118
diff
changeset
|
35 On the other hand, DEC OSF1 on the Alpha needs ospeed to be a short. */ |
| 16118 | 36 speed_t ospeed; |
| 37 #else | |
| 15718 | 38 short ospeed; |
| 16118 | 39 #endif |
|
19023
f7a3c16c49cb
[HAVE_LIBNCURSES]: Declare ospeed as short, unless NCURSES_OSPEED_T.
Richard M. Stallman <rms@gnu.org>
parents:
18808
diff
changeset
|
40 #endif |
| 484 | 41 |
| 42 /* Interface to curses/terminfo library. | |
| 43 Turns out that all of the terminfo-level routines look | |
| 44 like their termcap counterparts except for tparm, which replaces | |
| 45 tgoto. Not only is the calling sequence different, but the string | |
| 46 format is different too. | |
| 47 */ | |
| 48 | |
| 49 char * | |
| 50 tparam (string, outstring, len, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) | |
| 51 char *string; | |
| 52 char *outstring; | |
| 53 int arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9; | |
| 54 { | |
| 55 char *temp; | |
| 56 extern char *tparm(); | |
| 57 | |
| 58 temp = tparm (string, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); | |
| 59 if (outstring == 0) | |
| 60 outstring = ((char *) (malloc ((strlen (temp)) + 1))); | |
| 61 strcpy (outstring, temp); | |
| 62 return outstring; | |
| 63 } |
