Home | History | Annotate | Download | only in tic
History log of /src/usr.bin/tic/tic.c
RevisionDateAuthorComments
 1.42  20-May-2024  christos PR/58270: RVP: tic does not honor the user's umask, output files are 0666.
 1.41  11-May-2024  christos Only mark the terminfo entry promoted if actually was.
 1.40  30-Mar-2020  roy branches: 1.40.6;
terminfo: v3 records should create v3 aliases
 1.39  29-Mar-2020  roy tic: Duplicate and promote v1 records when merging a v3 record

When this occurs, tic merges the matching v1 record into the original v1.

The screen-256color record by itself doesn't have any numerics bigger
than a short, but the xterm+256setaf record does.

The screen-256color record is now as it was before the recent terminfo2.cdb
merge into terminfo.cdb.
 1.38  28-Mar-2020  roy tic: free the old buffer after promoting the record type
 1.37  28-Mar-2020  roy tic: use EXIT_FAILURE rather than magic numbers
 1.36  28-Mar-2020  roy Whitespace
 1.35  28-Mar-2020  roy tic: promote record type when merging newer into older
 1.34  27-Mar-2020  christos Use the new functions and add more error checking.
 1.33  27-Mar-2020  christos As described in tech-userlevel:
- Modify the writing code to only write entries in the new
format for the terminal descriptions that require it.
- Store new format entries as <name>@v3
- Store old format entries with clamped values as <name> for
backwards compatibility
- Lookup first <name>@v3 and then <name> if that is not found.
- Don't create terminfo2 anymore; old programs keep working with
clamped entries, and new programs be able to use the wide
fields with using the original db file.
 1.32  13-Mar-2020  roy terminfo: promote numeric parameters from short to int

POSIX mandates implementations must support upto a short but may exceed it.
When NetBSD terminfo was implemented, no terminfo description used over
a short, but because ncurses has supported ints for some time, some now do.

Infact, such a terminfo description was imported where colour pairs for
screen-256color went up to 65536 which exposed a bug in the existing
implementation where it set to zero. Because the number might mean
something more than a range, we need to be able to store it accurately.

This requires a version bump because whilst the API hasn't changed thanks
to C int promotion, the ABI has. Also the underlying database structure
has changed as well - we now store the numeric paramter inside a uint32_t
field rather than a uint16_t one.
Whilst this change can still read the old style database, the old one
cannot read the new one and thus we now maintain the database as
terminfo2.cdb, leaving the old library and database alone so old programs
still work fine.

libcurses, libfrom, libmenu and libpanel have also been bumped to
accomoate this change.
 1.31  02-Oct-2017  joerg branches: 1.31.4; 1.31.6;
unistd.h for close.
 1.30  05-May-2017  christos fix the tools build. reported by Utkarsh Anand
 1.29  04-May-2017  roy Remove __VALGRIND__ guard .... just clean up.
 1.28  04-May-2017  roy Whitespace and formatting.
 1.27  10-Jan-2017  christos branches: 1.27.4;
need <sys/stat.h> for DEFFILEMODE etc.
 1.26  24-Nov-2016  christos fix leak.
 1.25  24-Feb-2016  roy branches: 1.25.2;
White space police.
 1.24  20-Jul-2014  christos use hdestroy1 now that hdestroy does not free the key.
 1.23  08-Dec-2012  joerg branches: 1.23.6;
Revert, there is a more fundamental issue with util.h.
 1.22  08-Dec-2012  joerg Use util.h only in the native case.
 1.21  29-Nov-2012  mbalmer Remove an obsolete (and incomprehensible) comment. Discussed with and ok
Roy Marples, Joerg Sonnenberger.
 1.20  03-Jun-2012  joerg branches: 1.20.2;
Switch terminfo(3) to cdb(5).
 1.19  01-Jun-2012  joerg Fix a number of memory leaks. Keep final loop of the cleanup in tic(1)
under #ifdef __VALGRIND__ though.
 1.18  31-May-2012  joerg Maintain nalias and nterm on the fly.
 1.17  31-May-2012  joerg One more strdup -> estrdup.
 1.16  31-May-2012  joerg Use e* from util.h.
 1.15  31-May-2012  joerg Replace linear lookup with hash table, reducing runtime by 60%.
 1.14  31-May-2012  joerg Use queue(3)
 1.13  31-May-2012  joerg Prefer __printflike.
 1.12  09-Nov-2011  roy branches: 1.12.2;
Replace fgetln(3) with the more standard getline(3)
 1.11  03-Nov-2011  roy Use memmove as we are effectively moving memory from left to right so
that the use=foo capability is removed when merging foo.
 1.10  22-Feb-2010  roy branches: 1.10.6;
libterminfo can now compile a single terminfo description which allows
$TERMINFO to be a terminfo description as well as a file reference.

This enables the user to modify the terminfo description on read-only
media.
 1.9  20-Feb-2010  pgoyette One more time - do this correctly.

Thanks, joerg.
 1.8  20-Feb-2010  pgoyette Wrap the include of sys/endian.h in #ifdef HAVE_SYS_ENDIAN_H to avoid
build issues on systems that don't have a sys/endian.h

Pointed out by joerg@
 1.7  20-Feb-2010  pgoyette Since tic is a host tool, we need to include host system header to get
definitions of le16dec() and le16enc().

Solves PR bin/42747 from Henning Petersen
 1.6  11-Feb-2010  roy Change -S to output C structures to make life easier.
 1.5  11-Feb-2010  roy tic -S now outputs the specified terminal names and compiled descriptions
as C strings so we can embed them into libterminfo.
 1.4  05-Feb-2010  roy Note that -a no longer sets -x.
 1.3  05-Feb-2010  he More adaptation for ports where char is unsigned char.
 1.2  05-Feb-2010  roy Store the aliases against the entry, so that infocmp can reproduce them.
Handy for creating smaller terminfo databases.
 1.1  03-Feb-2010  roy Import my terminfo implementation.
This uses the ncurses terminal definitions.

OK: core@, jdc@
 1.10.6.3  16-Jan-2013  yamt sync with (a bit old) head
 1.10.6.2  30-Oct-2012  yamt sync with head
 1.10.6.1  10-Nov-2011  yamt sync with head
 1.12.2.1  23-Jun-2012  riz Pull up following revision(s) (requested by joerg in ticket #328):
lib/libc/gen/devname.c: revision 1.22
distrib/sparc64/instfs/dot.profile: revision 1.7
distrib/i386/cdroms/install.sh: revision 1.3
tests/lib/libcurses/director/director.c: revision 1.10
lib/libc/include/reentrant.h: revision 1.15
distrib/amd64/cdroms/install.sh: revision 1.3
tests/include/t_paths.c: revision 1.12
share/man/man7/hier.7: revision 1.101
etc/rc.d/sysdb: revision 1.24
include/stdlib.h: revision 1.99
tests/lib/libcurses/Makefile: revision 1.3
distrib/sparc64/cdroms/installcd/install.sh: revision 1.3
distrib/i386/cdroms/Makefile.cdrom: revision 1.27
lib/libc/gen/ttyname.c: revision 1.25
usr.bin/tic/Makefile: revision 1.2
tools/compat/Makefile: revision 1.57
lib/libterminfo/compile.c: revision 1.7
lib/libc/gen/ttyname.c: revision 1.26
lib/libterminfo/compile.c: revision 1.8
tools/compat/Makefile: revision 1.59
tools/compat/cdbw.h: revision 1.1
distrib/i386/installimage/install.sh: revision 1.2
lib/libc/include/namespace.h: revision 1.154
usr.bin/tic/tic.c: revision 1.13
usr.bin/tic/tic.c: revision 1.14
usr.bin/tic/tic.c: revision 1.15
distrib/sets/lists/base/mi: revision 1.996
usr.bin/tic/tic.c: revision 1.16
usr.sbin/dev_mkdb/dev_mkdb.8: revision 1.13
usr.bin/tic/tic.c: revision 1.17
usr.bin/tic/tic.c: revision 1.18
tools/compat/cdbr.h: revision 1.1
distrib/sparc64/instfs/list: revision 1.25
usr.bin/tic/tic.c: revision 1.19
lib/libc/cdb/cdbw.c: revision 1.4
lib/libc/cdb/cdbw.3: revision 1.4
lib/libc/cdb/cdbw.3: revision 1.5
share/terminfo/Makefile: revision 1.3
usr.sbin/dev_mkdb/dev_mkdb.c: revision 1.29
usr.sbin/dev_mkdb/Makefile: revision 1.8
lib/libc/gen/ttyname.3: revision 1.23
lib/libc/gen/ttyname.3: revision 1.24
lib/libc/cdb/cdbr.c: revision 1.3
include/cdbw.h: revision 1.2
distrib/sparc64/cdroms/installcd/Makefile: revision 1.15
lib/libc/gen/devname.3: revision 1.12
tools/compat/compat_defs.h: revision 1.85
tools/compat/compat_defs.h: revision 1.86
lib/libterminfo/term_private.h: revision 1.10
lib/libterminfo/term.c: revision 1.14
usr.bin/tic/tic.1: revision 1.10
lib/libterminfo/term.c: revision 1.15
lib/libterminfo/Makefile.hash: revision 1.5
lib/libterminfo/term.c: revision 1.16
distrib/amd64/installimage/install.sh: revision 1.2
share/man/man5/rc.conf.5: revision 1.152
distrib/sets/lists/tests/mi: revision 1.472
distrib/amd64/cdroms/Makefile.cdrom: revision 1.7
include/paths.h: revision 1.41
bin/ps/ps.1: revision 1.101
lib/libterminfo/terminfo.5.in: revision 1.16
usr.bin/tic/tic.c: revision 1.20
lib/libterminfo/terminfo.5.in: revision 1.17
Prefer __printflike.
Use queue(3)
Replace linear lookup with hash table, reducing runtime by 60%.
Use e* from util.h.
One more strdup -> estrdup.
Maintain nalias and nterm on the fly.
Add void for ttyslot prototype.
Use memcmp in place of strncmp, since length is known to no longer than
either of the arguments.
Fix a number of memory leaks. Keep final loop of the cleanup in tic(1)
under #ifdef __VALGRIND__ though.
Add __predict_true / __predict_false definitions.
Add a special seeder for cdbw_output that gives stable results.
Hook up cdbw(3) for the tool build.
Prototype for cdbw_stable_seeder.
Provide a usable thr_once for !_REENTRANT
Switch device database to cdb(5). Rework ttyname(3) and ttyname_r(3) to
depend on new devname_r(3) as heart. Add /dev/pts magic directly to
devname(3). While it can lead to returning non-existing paths, the
behavior is more consistent that way. Drop caching layer in devname(3),
it doesn't buy anything for the common case of having access to the
database. Teach devname(3) proper fallback behavior of scanning /dev.
Create both old-style and new-style database for now in /etc/rc.d/sysdb.
Switch terminfo(3) to cdb(5).
Fix typos.
Make Alan Barrett happy and add ().
Add cdbr(3) support to tools/compat.
Bump date for previous.
Relax consistency to make it possible to match valid entries.
Prefix devname's buffer with /dev/ as ttyname is supposed to return the
full path. Reported by Dave Huang.
 1.20.2.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.20.2.1  25-Feb-2013  tls resync with head
 1.23.6.1  10-Aug-2014  tls Rebase.
 1.25.2.2  20-Mar-2017  pgoyette Sync with HEAD
 1.25.2.1  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.27.4.1  11-May-2017  pgoyette Sync with HEAD
 1.31.6.1  14-Oct-2024  martin Pull up following revision(s) (requested by riastradh in ticket #1911):

usr.bin/tic/tic.c: revision 1.42

PR/58270: RVP: tic does not honor the user's umask, output files are 0666.
 1.31.4.1  08-Apr-2020  martin Merge changes from current as of 20200406
 1.40.6.2  12-Sep-2024  martin Pull up following revision(s) (requested by rin in ticket #846):

usr.bin/tic/tic.c: revision 1.42

PR/58270: RVP: tic does not honor the user's umask, output files are 0666.
 1.40.6.1  16-May-2024  martin Pull up following revision(s) (requested by wiz in ticket #688):

usr.bin/tic/tic.c: revision 1.41

Only mark the terminfo entry promoted if actually was.

RSS XML Feed