The NetBSD Project

CVS log for src/lib/libterminfo/term_private.h

[BACK] Up to [cvs.NetBSD.org] / src / lib / libterminfo

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.19: download - view: text, markup, annotated - select for diffs
Sun Jun 21 15:05:23 2020 UTC (4 years, 6 months ago) by roy
Branches: MAIN
CVS tags: perseant-exfatfs-base-20240630, perseant-exfatfs-base, perseant-exfatfs, netbsd-10-base, netbsd-10-1-RELEASE, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, HEAD
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +6 -4 lines
libterminfo: cast to uint16/32_t before conversion to preserve negativity

Otherwise the ABSENT_NUMERIC(-1) or CANCELLED_NUMERIC(-2) will be converted
incorrectly to size_t and then down to uint16/32_t.
Picked up by DIAGNOSTIC builds.

Thanks to Michael Forney for the fix for PR lib/52293.

Revision 1.11.30.1: download - view: text, markup, annotated - select for diffs
Wed Apr 8 14:07:16 2020 UTC (4 years, 9 months ago) by martin
Branches: phil-wifi
Diff to: previous 1.11: preferred, colored; next MAIN 1.12: preferred, colored
Changes since revision 1.11: +141 -14 lines
Merge changes from current as of 20200406

Revision 1.18: download - view: text, markup, annotated - select for diffs
Sun Mar 29 21:46:22 2020 UTC (4 years, 9 months ago) by roy
Branches: MAIN
CVS tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +2 -3 lines
terminfo: Promote a terminfo description to v3 when required

Blindly scanning the capabilities for # and checking that the following
number is bigger than a short isn't reliable because this could be a
string value:

SomeString#1234

Instead, if we process the numeric as normal and if it's value is too big
for v1 then promote the record to v3.

Revision 1.17: download - view: text, markup, annotated - select for diffs
Sun Mar 29 18:54:57 2020 UTC (4 years, 9 months ago) by roy
Branches: MAIN
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +8 -1 lines
terminfo: allow _ti_getname to convert from and to any version

Revision 1.16: download - view: text, markup, annotated - select for diffs
Sun Mar 29 18:32:45 2020 UTC (4 years, 9 months ago) by roy
Branches: MAIN
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +9 -9 lines
terminfo: Clamp numeric bounds to storage not API.

While here, fix decoding of numeric -1 stored in uint16_t to still be -1.

Revision 1.15: download - view: text, markup, annotated - select for diffs
Sat Mar 28 15:23:33 2020 UTC (4 years, 9 months ago) by roy
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +4 -4 lines
Whitespace

Revision 1.14: download - view: text, markup, annotated - select for diffs
Fri Mar 27 17:39:53 2020 UTC (4 years, 9 months ago) by christos
Branches: MAIN
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +106 -5 lines
Introduce a bunch of inline functions and utilities to avoid code duplication.

Revision 1.13: download - view: text, markup, annotated - select for diffs
Fri Mar 27 15:11:57 2020 UTC (4 years, 9 months ago) by christos
Branches: MAIN
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +13 -5 lines
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.

Revision 1.12: download - view: text, markup, annotated - select for diffs
Fri Mar 13 15:19:25 2020 UTC (4 years, 10 months ago) by roy
Branches: MAIN
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +21 -9 lines
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.

Revision 1.9.2.2: download - view: text, markup, annotated - select for diffs
Thu May 22 11:37:00 2014 UTC (10 years, 7 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.9.2.1: preferred, colored; branchpoint 1.9: preferred, colored; next MAIN 1.10: preferred, colored
Changes since revision 1.9.2.1: +5 -2 lines
sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.9.4.2: download - view: text, markup, annotated - select for diffs
Thu Mar 14 15:48:29 2013 UTC (11 years, 10 months ago) by riz
Branches: netbsd-6
CVS tags: netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1
Diff to: previous 1.9.4.1: preferred, colored; branchpoint 1.9: preferred, colored; next MAIN 1.10: preferred, colored
Changes since revision 1.9.4.1: +4 -1 lines
Pull up following revision(s) (requested by roy in ticket #835):
	lib/libterminfo/terminfo.3: revision 1.9
	lib/libterminfo/term.h: revision 1.13
	lib/libterminfo/term.h: revision 1.14
	usr.bin/tput/Makefile: revision 1.11
	lib/libterminfo/terminfo.3: revision 1.10
	lib/libterminfo/genman: revision 1.5
	lib/libterminfo/term_private.h: revision 1.11
	usr.bin/tput/tput.c: revision 1.23
	usr.bin/tput/tput.c: revision 1.24
	usr.bin/tput/tput.c: revision 1.25
	lib/libterminfo/tparm.c: revision 1.11
	lib/libterminfo/Makefile.hash: revision 1.7
	usr.bin/tput/tput.c: revision 1.26
	lib/libterminfo/tparm.c: revision 1.12
	lib/libterminfo/tparm.c: revision 1.13
	lib/libterminfo/tparm.c: revision 1.14
	lib/libterminfo/terminfo.5.in: revision 1.18
As tparm accepts longs we should treat them as long during expansion.
Also, fix the ~ and ! logic.
Move the strings vs long analysis to a private function, but allow
tput(1) to use it so we can work with string parameters to
capabilities.
Fix building our terminals with a non standard NETBSDSRCDIR, PR
lib/46793.
Thanks to Bernd Ernesti.
Remove debug accidently commited.
If char * > long then print a suitable error when passing a string
parameter.
For platforms where we cannot fit a char * into a long, return NULL
and set errno to ENOTSUPP.
Add descriptions for terminfo keys to term.h
These are extracted by genman and placed into the compiled terminfo.5
Fixes PR lib/47090
Provide a disabled implentation of tlparm and ti_tlparm for
completeness.
This also improves the readability of _ti_tiparm.
Use putp(3) to output our strings.
Fixes PR lib/47532

Revision 1.10.2.1: download - view: text, markup, annotated - select for diffs
Mon Feb 25 00:28:01 2013 UTC (11 years, 10 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.10: preferred, colored; next MAIN 1.11: preferred, colored
Changes since revision 1.10: +5 -2 lines
resync with head

Revision 1.11: download - view: text, markup, annotated - select for diffs
Thu Jan 24 10:41:28 2013 UTC (11 years, 11 months ago) by roy
Branches: MAIN
CVS tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, phil-wifi-20191119, phil-wifi-20190609, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, perseant-stdc-iso10646-base, perseant-stdc-iso10646, netbsd-9-base, netbsd-9-4-RELEASE, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, netbsd-8-base, netbsd-8-3-RELEASE, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, is-mlppp-base, is-mlppp, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan, agc-symver-base, agc-symver
Branch point for: phil-wifi
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +5 -2 lines
Move the strings vs long analysis to a private function, but allow
tput(1) to use it so we can work with string parameters to capabilities.

Revision 1.9.2.1: download - view: text, markup, annotated - select for diffs
Tue Oct 30 18:59:18 2012 UTC (12 years, 2 months ago) by yamt
Branches: yamt-pagecache
CVS tags: yamt-pagecache-tag8
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +13 -6 lines
sync with head

Revision 1.9.4.1: download - view: text, markup, annotated - select for diffs
Sat Jun 23 22:54:57 2012 UTC (12 years, 6 months ago) by riz
Branches: netbsd-6
CVS tags: netbsd-6-1-RC1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +13 -6 lines
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.

Revision 1.10: download - view: text, markup, annotated - select for diffs
Sun Jun 3 23:19:10 2012 UTC (12 years, 7 months ago) by joerg
Branches: MAIN
CVS tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6
Branch point for: tls-maxphys
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +13 -6 lines
Switch terminfo(3) to cdb(5).

Revision 1.9: download - view: text, markup, annotated - select for diffs
Mon Oct 3 19:18:55 2011 UTC (13 years, 3 months ago) by roy
Branches: MAIN
CVS tags: yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, netbsd-6-base
Branch point for: yamt-pagecache, netbsd-6
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +1 -2 lines
Remove _ti_freeterm as consumers should just use del_curterm.

Revision 1.8: download - view: text, markup, annotated - select for diffs
Wed Sep 22 06:10:51 2010 UTC (14 years, 3 months ago) by roy
Branches: MAIN
CVS tags: matt-mips64-premerge-20101231, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +5 -5 lines
Our API just uses typedefs, so don't use the struct symbol which will avoid
any potential conflicts with userland.

Revision 1.7: download - view: text, markup, annotated - select for diffs
Tue Mar 2 14:11:11 2010 UTC (14 years, 10 months ago) by roy
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +2 -1 lines
Use _ti_get_token instead of strsep when parsing termcap entries.
This allows us to handle \E\ as a valid sequence.

Revision 1.6: download - view: text, markup, annotated - select for diffs
Mon Feb 22 23:05:39 2010 UTC (14 years, 10 months ago) by roy
Branches: MAIN
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +35 -1 lines
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.

Revision 1.5: download - view: text, markup, annotated - select for diffs
Thu Feb 11 00:27:09 2010 UTC (14 years, 11 months ago) by roy
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +6 -5 lines
Embed ansi, dumb, vt100, vt220 and wsvt25 compiled terminal descriptions
into libterminfo.
Constify some foo.

Revision 1.4: download - view: text, markup, annotated - select for diffs
Fri Feb 5 14:39:07 2010 UTC (14 years, 11 months ago) by he
Branches: MAIN
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +2 -2 lines
More adaptation for ports with unsigned char as char.

Revision 1.3: download - view: text, markup, annotated - select for diffs
Fri Feb 5 12:31:56 2010 UTC (14 years, 11 months ago) by roy
Branches: MAIN
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +3 -1 lines
Store the aliases against the entry, so that infocmp can reproduce them.
Handy for creating smaller terminfo databases.

Revision 1.2: download - view: text, markup, annotated - select for diffs
Wed Feb 3 18:49:23 2010 UTC (14 years, 11 months ago) by snj
Branches: MAIN
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +2 -2 lines
Fix some typos and spelling errors.

Revision 1.1: download - view: text, markup, annotated - select for diffs
Wed Feb 3 15:16:32 2010 UTC (14 years, 11 months ago) by roy
Branches: MAIN
Import my terminfo implementation.
This uses the ncurses terminal definitions.

OK: core@, jdc@

Diff request

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

Log view options

CVSweb <webmaster@jp.NetBSD.org>