freebsd-dev/lib/libmytinfo
imp c6419dc030 Replace memory leaking instances of realloc with non-leaking reallocf.
In some cases replace if (a == null) a = malloc(x); else a =
realloc(a, x); with simple reallocf(a, x).  Per ANSI-C, this is
guaranteed to be the same thing.

I've been running these on my system here w/o ill effects for some
time.  However, the CTM-express is at part 6 of 34 for the CAM
changes, so I've not been able to do a build world with the CAM in the
tree with these changes.  Shouldn't impact anything, but...
1998-09-16 04:17:47 +00:00
..
EXAMPLES Moved from ports + several enhacmenets 1994-10-06 23:38:41 +00:00
TESTS Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
addstr.c Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
bin_order Moved from ports + several enhacmenets 1994-10-06 23:38:41 +00:00
bsearch.c Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
buildpath.c Replace memory leaking instances of realloc with non-leaking reallocf. 1998-09-16 04:17:47 +00:00
cap_list Remove duplicates: parm rindex & scroll right 1995-03-27 05:13:31 +00:00
compar.c Moved from ports + several enhacmenets 1994-10-06 23:38:41 +00:00
config.h Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
defs.h Remove conflicting declaration of sys_errlist, which caused make world 1997-03-29 17:42:32 +00:00
fillterm.c Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
findcap.c Moved from ports + several enhacmenets 1994-10-06 23:38:41 +00:00
findterm.c Fix longstanding bug with buffer pointer goes beyoud buffer start 1997-08-13 01:21:36 +00:00
getother.c Moved from ports + several enhacmenets 1994-10-06 23:38:41 +00:00
gettbin.c Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
gettcap.c Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
gettinfo.c Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
INSTALL Moved from ports + several enhacmenets 1994-10-06 23:38:41 +00:00
Makefile Keep build-tools objects separate from `all' objects so that my 1998-09-02 15:22:11 +00:00
mkbinorder.c Moved from ports + several enhacmenets 1994-10-06 23:38:41 +00:00
mkcaplist.c Moved from ports + several enhacmenets 1994-10-06 23:38:41 +00:00
mkcapsort.c When printf'ing the result of pointer arithmetic, cast the result to 1998-01-13 03:07:10 +00:00
mktermhead.c Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
mkversion.c Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
readcaps.c Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
README Moved from ports + several enhacmenets 1994-10-06 23:38:41 +00:00
README.doc Moved from ports + several enhacmenets 1994-10-06 23:38:41 +00:00
tcapconv.c Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
tcapvars.c Moved from ports + several enhacmenets 1994-10-06 23:38:41 +00:00
term.h Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
term.head Generate term.h only once, not each beforeinstall. 1994-10-09 18:39:01 +00:00
term.tail Prototypes... 1994-12-10 22:56:53 +00:00
termcap.c Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
terminfo.c Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
tgoto.c Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
tiget.c Moved from ports + several enhacmenets 1994-10-06 23:38:41 +00:00
tmatch.c Moved from ports + several enhacmenets 1994-10-06 23:38:41 +00:00
tparm.c Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
tputs.c Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
tty.c Add check for non-NULL cur_term 1998-06-19 16:09:20 +00:00
version.h Moved from ports + several enhacmenets 1994-10-06 23:38:41 +00:00

Mytinfo is Public Domain and comes with no guarantees.
By Ross Ridge (ross@zooid.guild.org).

Mytinfo is a single library that combines the functionality of the
standard Unix termcap and terminfo libraries.  It has the special
ability of being able to fetch terminal descriptions from both
termcap and terminfo databases regardless of which set of functions,
termcap or terminfo, are used.  It can even read terminal descriptions
from terminfo source files. 

You should be able to compile this library on almost all versions of Unix.
Much of it's development was done on '386 Xenix, but I've sucessfuly built
mytinfo under BSD 4.3, HP-UX 2.1 (System III), SunOS 3.5, and Amix
(System V R4).  There hasn't been a large amount of testing of the support
programmes that come with the library, but the library itself has been in
use on a couple of public access Unix sites for over two years.  It has
successfully linked and run with many programmes such as rn, vi and nethack.

Included in the package is tconv, an "all-in-one" programme that will
compile terminfo sources to binary format and also translate termcap to
either terminfo source or binary.  tic and cap2info are just links
to the tconv programme.  I've also written replacement for tset,
that uses the mytinfo library, in case tset doesn't come with your
system or if you aren't too pleased with the one that did.  Since this
is the newest part of the package it probably still has a few bugs.
You'll also find tput, as well two versions of clear, one that uses
termcap and the other that uses terminfo.

The environment variables TERMCAP and TERMINFO can have multiple
filenames separated by a space, a feature not in terminfo and not in
most termcaps.  This is very handy for users that maintain their own
private databases, as they don't have to have a copy the entire
database.  Eg:
	TERMCAP="$HOME/.termcap /etc/termcap"
	TERMINFO="$HOME/terminfo /usr/lib/terminfo"
	export TERMCAP TERMINFO
The library will also check compiled-in default locations for terminal
descriptions.  Like most termcaps, the TERMCAP variable can also
contain the complete termcap terminal description, usually supplied
from tset at login.  The TERMINFO variable can also contain a complete
terminfo description, but there is no programme like tset to supply it.

Unlike termcap, this library can only use capabilities that it knows about.
However it does knows about all the standard ones, and you can easily
add your own to it's list.  Included in the list are all terminfo
capabilities to Release 4 of System V, obsolete termcap capabilities, a
few caps used from the University of Waterloo (UW), a couple from GNU Emacs,
and a few I made up myself. Two extensions to the standard termcap % codes
are supported, GNU's %a, %m, %b, and %f, and UW's %-, %a, and %s.

Termcap and terminfo source descriptions can be mixed in one file, but
because of this termcap databases must be in a certain style.  All
continuation lines of a termcap entry must be indented from the left
margin by white space.  This shouldn't be a problem with most sites
since this is the style that most termcap files are distributed, but local
additions may not adhere to this style.  Another possible problem is
that termcap entries should end with a colon (:), but in most
distributed termcaps there are entries that don't.  If a one line
termcap entry doesn't end with a colon, it will be ignored.  A quick
way to find these is "tconv -c /etc/termcap > /dev/null".

See the file INSTALL for instructions on configuring and installing
this library. The file README.doc lists the functions supported by the
library, and gives short description of the tconv programme.  tconv.1 is
a simple man page for tconv.  terminfo.src contains a few sample
terminal descriptions in terminfo source format.  TODO is a list of
possible enhancements too the library, your comments and additions
are welcome.

Please let me know of any bugs you find, as well as any ideas you have
for improvement.

Ross Ridge

ross@zooid.guild.org