From: Bruno Haible Date: Mon, 11 Dec 2006 12:38:18 +0000 (+0000) Subject: New module 'termcap-h'. X-Git-Tag: v0.17~606 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f5f81444e602487e197ee4b02556d7590a8cd7d2;p=thirdparty%2Fgettext.git New module 'termcap-h'. --- diff --git a/gnulib-local/ChangeLog b/gnulib-local/ChangeLog index efde65c60..fbf59caa2 100644 --- a/gnulib-local/ChangeLog +++ b/gnulib-local/ChangeLog @@ -1,3 +1,15 @@ +2006-12-01 Bruno Haible + + * modules/term-ostream: Depend on termcap-h, not termcap. + * lib/term-ostream.oo.c: Include termcap.h. + (tgetent, tgetnum, tgetflag, tgetstr, tparm, tgoto, tputs): Remove + declarations. + + Move termcap function declarations to a header file. + * modules/termcap-h: New file. + * lib/termcap.h: New file. + * Makefile.am (EXTRA_DIST): Add the new files. + 2006-12-01 Bruno Haible * modules/moo-tests: New file. diff --git a/gnulib-local/Makefile.am b/gnulib-local/Makefile.am index 04c644c6e..7824f9895 100644 --- a/gnulib-local/Makefile.am +++ b/gnulib-local/Makefile.am @@ -234,6 +234,7 @@ lib/relocwrapper.c \ lib/strerror.c.diff \ lib/term-ostream.oo.c \ lib/term-ostream.oo.h \ +lib/termcap.h \ lib/vasprintf.c \ lib/xalloc.h \ lib/xerror.c \ @@ -298,6 +299,7 @@ modules/quote.diff \ modules/relocatable \ modules/relocwrapper \ modules/termcap \ +modules/termcap-h \ modules/term-ostream \ modules/term-ostream-tests \ modules/vasprintf.diff \ diff --git a/gnulib-local/lib/term-ostream.oo.c b/gnulib-local/lib/term-ostream.oo.c index 77d0bb926..64dbc8fc6 100644 --- a/gnulib-local/lib/term-ostream.oo.c +++ b/gnulib-local/lib/term-ostream.oo.c @@ -33,6 +33,7 @@ #include "fatal-signal.h" #include "full-write.h" #include "sigprocmask.h" +#include "termcap.h" #include "xalloc.h" #include "xsize.h" #include "gettext.h" @@ -42,56 +43,6 @@ #define SIZEOF(a) (sizeof(a) / sizeof(a[0])) -/* =========================== termcap interface =========================== */ - -/* Including or is dangerous, because it also declares - a lot of junk, such as variables PC, UP, and other. */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* Gets the capability information for terminal type TYPE. - Returns 1 if successful, 0 if TYPE is unknown, -1 on other error. */ -extern int tgetent (char *bp, const char *type); - -/* Retrieves the value of a numerical capability. - Returns -1 if it is not available. */ -extern int tgetnum (const char *id); - -/* Retrieves the value of a boolean capability. - Returns 1 if it available, 0 otherwise. */ -extern int tgetflag (const char *id); - -/* Retrieves the value of a string capability. - Returns NULL if it is not available. - Also, if AREA != NULL, stores it at *AREA and advances *AREA. */ -extern const char * tgetstr (const char *id, char **area); - -/* Instantiates a string capability with format strings. - The return value is statically allocated and must not be freed. */ -extern char * tparm (const char *str, ...); - -/* Retrieves a string that causes cursor positioning to (column, row). - This function is necessary because the string returned by tgetstr ("cm") - is in a special format. */ -extern const char * tgoto (const char *cm, int column, int row); - -/* Retrieves the value of a string capability. - OUTCHARFUN is called in turn for each 'char' of the result. - This function is necessary because string capabilities can contain - padding commands. */ -extern void tputs (const char *cp, int affcnt, int (*outcharfun) (int)); - -/* The ncurses functions for color handling (see ncurses/base/lib_color.c) - are overkill: Most terminal emulators support only a fixed, small number - of colors. */ - -#ifdef __cplusplus -} -#endif - - /* =========================== Color primitives =========================== */ /* A color in RGB format. */ diff --git a/gnulib-local/lib/termcap.h b/gnulib-local/lib/termcap.h new file mode 100644 index 000000000..4c7b17ed6 --- /dev/null +++ b/gnulib-local/lib/termcap.h @@ -0,0 +1,69 @@ +/* Information about terminal capabilities. + Copyright (C) 2006 Free Software Foundation, Inc. + Written by Bruno Haible , 2006. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef _TERMCAP_H +#define _TERMCAP_H + +/* Including or is dangerous, because it also declares + a lot of junk, such as variables PC, UP, and other. */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* Gets the capability information for terminal type TYPE. + Returns 1 if successful, 0 if TYPE is unknown, -1 on other error. */ +extern int tgetent (char *bp, const char *type); + +/* Retrieves the value of a numerical capability. + Returns -1 if it is not available. */ +extern int tgetnum (const char *id); + +/* Retrieves the value of a boolean capability. + Returns 1 if it available, 0 otherwise. */ +extern int tgetflag (const char *id); + +/* Retrieves the value of a string capability. + Returns NULL if it is not available. + Also, if AREA != NULL, stores it at *AREA and advances *AREA. */ +extern const char * tgetstr (const char *id, char **area); + +/* Instantiates a string capability with format strings. + The return value is statically allocated and must not be freed. */ +extern char * tparm (const char *str, ...); + +/* Retrieves a string that causes cursor positioning to (column, row). + This function is necessary because the string returned by tgetstr ("cm") + is in a special format. */ +extern const char * tgoto (const char *cm, int column, int row); + +/* Retrieves the value of a string capability. + OUTCHARFUN is called in turn for each 'char' of the result. + This function is necessary because string capabilities can contain + padding commands. */ +extern void tputs (const char *cp, int affcnt, int (*outcharfun) (int)); + +/* The ncurses functions for color handling (see ncurses/base/lib_color.c) + are overkill: Most terminal emulators support only a fixed, small number + of colors. */ + +#ifdef __cplusplus +} +#endif + +#endif /* _TERMCAP_H */ diff --git a/gnulib-local/modules/term-ostream b/gnulib-local/modules/term-ostream index 00fafb1c3..4ece7dd38 100644 --- a/gnulib-local/modules/term-ostream +++ b/gnulib-local/modules/term-ostream @@ -14,7 +14,7 @@ fatal-signal sigprocmask full-write gettext-h -termcap +termcap-h xalloc xsize diff --git a/gnulib-local/modules/termcap-h b/gnulib-local/modules/termcap-h new file mode 100644 index 000000000..cb2d31998 --- /dev/null +++ b/gnulib-local/modules/termcap-h @@ -0,0 +1,21 @@ +Description: +Information about terminal capabilities. + +Files: +lib/termcap.h + +Depends-on: +termcap + +configure.ac: + +Makefile.am: + +Include: + +License: +LGPL + +Maintainer: +Bruno Haible +