Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src



Module Name:    src
Committed By:   roy
Date:           Fri Mar 13 15:19:25 UTC 2020

Modified Files:
        src/distrib/sets/lists/base: mi shl.mi
        src/lib/libcurses: shlib_version
        src/lib/libform: shlib_version
        src/lib/libmenu: shlib_version
        src/lib/libpanel: shlib_version
        src/lib/libterminfo: compile.c shlib_version term.c term.h
            term_private.h
        src/share/terminfo: Makefile
        src/usr.bin/infocmp: infocmp.c
        src/usr.bin/tic: tic.c

Log Message:
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.


To generate a diff of this commit:
cvs rdiff -u -r1.1231 -r1.1232 src/distrib/sets/lists/base/mi
cvs rdiff -u -r1.879 -r1.880 src/distrib/sets/lists/base/shl.mi
cvs rdiff -u -r1.44 -r1.45 src/lib/libcurses/shlib_version
cvs rdiff -u -r1.18 -r1.19 src/lib/libform/shlib_version
cvs rdiff -u -r1.12 -r1.13 src/lib/libmenu/shlib_version
cvs rdiff -u -r1.2 -r1.3 src/lib/libpanel/shlib_version
cvs rdiff -u -r1.13 -r1.14 src/lib/libterminfo/compile.c
cvs rdiff -u -r1.1 -r1.2 src/lib/libterminfo/shlib_version
cvs rdiff -u -r1.29 -r1.30 src/lib/libterminfo/term.c
cvs rdiff -u -r1.22 -r1.23 src/lib/libterminfo/term.h
cvs rdiff -u -r1.11 -r1.12 src/lib/libterminfo/term_private.h
cvs rdiff -u -r1.3 -r1.4 src/share/terminfo/Makefile
cvs rdiff -u -r1.12 -r1.13 src/usr.bin/infocmp/infocmp.c
cvs rdiff -u -r1.31 -r1.32 src/usr.bin/tic/tic.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index