Home | History | Annotate | only in /src/lib/libform
History log of /src/lib/libform
RevisionDateAuthorComments
 1.11 23-Oct-2017  abhinav Remove duplicate MLINK entry for dup_field.3
(it's already defined 3 lines above)
 1.10 21-Mar-2012  matt These directories default to WARNS=2
 1.9 11-Mar-2008  joerg branches: 1.9.6;
Depends on libcurses.
 1.8 11-Sep-2006  dbj branches: 1.8.8; 1.8.14;
fixes for installing into a case insensitive $DESTDIR
when files may have hard links to a a name that only differs by case
- change install to unconditionally remove its temporary file
when installing hard links with -r. This avoids problems when
built with posix rename(2) semantics and reinstalling an existing
hard link.
- rework hard link targets in bsd.man.mk and bsd.links.mk
to use makefile constructs instead of shell constructs
- always reinstall hard links that may have case conflicts, even
when MKUPDATE=yes, this ensures that they get added to METALOG
- remove man pages which were hard linked to themselves in libform
- remove improper hard link command for existing man page in libkrb5
- fix libl's makefile to include bsd.lib.mk at end
- remove shell quoting in link target for test's [.1 man page
 1.7 24-Nov-2004  blymn * Rewrote internal handling of multiline field line data to fix a bug
where a newly opened line would immediately get wrapped out of existence.
The old method of handling lines in a multiline field did not cope with
this elegantly.

* Added new field flag O_REFORMAT which, when set, returns the field
buffer with newlines inserted where the line wrapped. Previously, there
was no way of preserving the on screen format of a multiline field.

* Added new file gdbinit which contains a macro to verify and print
the multiline field line data structure.

* Bumped libform major number due to changes in the _form_field structure.
 1.6 11-Aug-2002  blymn Added MLINK entries to link all function names to their respective
man page.
 1.5 20-Feb-2002  wiz Normalize Dd.
 1.4 08-Jul-2001  blymn Added man pages.
 1.3 10-Feb-2001  blymn Added ipv6 builtin type.
 1.2 16-Jan-2001  blymn Multiple fixes:

* A debug version of libform will be build if DEBUG_FORMS is defined
* Can no longer edit fields that do not have O_EDIT set
* Changed background attribute to A_NORMAL like ncurses
* Fixed truncation of field contents when content length == field length
* Current field is set to first visible & active field on form post
 1.1 17-Dec-2000  blymn Added early release version of libform - please be gentle.
 1.8.14.1 24-Mar-2008  keiichi sync with head.
 1.8.8.1 23-Mar-2008  matt sync with HEAD
 1.9.6.1 17-Apr-2012  yamt sync with head
 1.2 08-Jul-2001  blymn The information in the README no longer applies.
 1.1 17-Dec-2000  blymn Added early release version of libform - please be gentle.
 1.1 03-Apr-2013  agc branches: 1.1.2;
file Version.map was initially added on branch agc-symver.
 1.1.2.1 03-Apr-2013  agc Add symbol versioning information for the following libraries:

libbluetooth
libbsdmalloc
libexecinfo
libform
libintl
libipsec
libkvm
liblwres
libnpf
libp2k
libpci
libperfuse
libppath
libprop
libpuffs
librefuse
librpcsvc
librt
librumpclient
librumphijack
librumpuser
libukfs
libusbhid
libwrap
 1.18 26-Nov-2013  christos goodbye CIRCLEQ, welcome TAILQ
 1.17 03-Feb-2010  roy branches: 1.17.6; 1.17.12;
Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.16 24-Nov-2004  blymn * Rewrote internal handling of multiline field line data to fix a bug
where a newly opened line would immediately get wrapped out of existence.
The old method of handling lines in a multiline field did not cope with
this elegantly.

* Added new field flag O_REFORMAT which, when set, returns the field
buffer with newlines inserted where the line wrapped. Previously, there
was no way of preserving the on screen format of a multiline field.

* Added new file gdbinit which contains a macro to verify and print
the multiline field line data structure.

* Bumped libform major number due to changes in the _form_field structure.
 1.15 09-Mar-2003  lukem use __RCSID()
 1.14 02-Aug-2002  blymn Refresh window after a driver command.
 1.13 29-Jul-2002  blymn * Fix cursor motion bugs referred to in pr 17480
* Handle cursor motion for justifications other than left justified.
 1.12 20-May-2002  blymn * Major rework to allow the TAB character in fields.
 1.11 31-Dec-2001  thorpej Fix -Wshadow warnings (gcc 3.1).
 1.10 13-Jun-2001  wiz withough -> without
 1.9 16-May-2001  blymn Fixed wrapping of multiline fields.
 1.8 11-May-2001  blymn * Rototilled internals to make multiline fields work correctly. Some
bugs remain such as vertical scrolling is not working and the field
is not correctly redrawn after being cleared. There are bound to be
others.
 1.7 06-Apr-2001  blymn * Fixes for horizontal scrolling
* Character is added to the destination field in auto-skip mode when
a new field is skipped to.
 1.6 05-Feb-2001  blymn Restructured driver character insert to allow overwrite of full field
without autoskipping.
 1.5 03-Feb-2001  blymn Reset offsets when a new field is entered.
 1.4 30-Jan-2001  blymn Added field and character checking.
 1.3 23-Jan-2001  blymn Added support for the O_OVERLOAD_* form options.
 1.2 16-Jan-2001  blymn Multiple fixes:

* A debug version of libform will be build if DEBUG_FORMS is defined
* Can no longer edit fields that do not have O_EDIT set
* Changed background attribute to A_NORMAL like ncurses
* Fixed truncation of field contents when content length == field length
* Current field is set to first visible & active field on form post
 1.1 17-Dec-2000  blymn Added early release version of libform - please be gentle.
 1.17.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.17.6.1 22-May-2014  yamt 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")
 1.32 13-Apr-2021  christos - fix memory leak
- xxx questionable allocation
- remove casts
- use sizeof(*var)
- bcopy -> memcpy/memmove
 1.31 09-Mar-2016  christos PR/50919: David Binderman: Re-do all the debug stuff in a more sustainable way.
 1.30 11-Dec-2015  joerg Counting from 0 to n-1 can go wrong badly, if n is unsigned and zero and
the counter variable is not of a type larger than n. Fixes PR 50490.
 1.29 07-Sep-2015  joerg Constify set_field_buffer.
 1.28 18-Oct-2014  snj src is too big these days to tolerate superfluous apostrophes. It's
"its", people!
 1.27 21-Nov-2013  christos branches: 1.27.4;
Simplify previous.
 1.26 21-Nov-2013  blymn Correct the allocation for the reformat buffer, thanks to mlelstv for
the fix.
 1.25 03-Feb-2010  roy branches: 1.25.6; 1.25.12;
Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.24 07-Feb-2006  wiz We want size_t arguments, so just cast to size_t, instead of casting
to unsigned long and getting a warning on i386.
 1.23 24-Nov-2004  blymn * Rewrote internal handling of multiline field line data to fix a bug
where a newly opened line would immediately get wrapped out of existence.
The old method of handling lines in a multiline field did not cope with
this elegantly.

* Added new field flag O_REFORMAT which, when set, returns the field
buffer with newlines inserted where the line wrapped. Previously, there
was no way of preserving the on screen format of a multiline field.

* Added new file gdbinit which contains a macro to verify and print
the multiline field line data structure.

* Bumped libform major number due to changes in the _form_field structure.
 1.22 09-Mar-2003  lukem use __RCSID()
 1.21 09-Aug-2002  blymn Added extension to interface, set_field_printf which allows a printf
style setting of field buffers.
 1.20 05-Aug-2002  blymn set_field_opts and field_opts_on were both using the wrong pointer
resulting in libform crashing if O_STATIC was set on the default field.
 1.19 03-Aug-2002  blymn Redraw field when the flags for the field change iff the field is
attached to a form and the form is posted.
 1.18 31-Jul-2002  blymn Reposition form cursor after field redrawn when setting a field value,
since the field set may not be the current one. This fixes PR 17533.
 1.17 29-Jul-2002  blymn * Fix cursor motion bugs referred to in pr 17480
* Handle cursor motion for justifications other than left justified.
 1.16 04-Jul-2002  blymn Prevent set_field_buffer from redrawing field that is attached to a form
when the form is not posted.
 1.15 20-May-2002  blymn * Major rework to allow the TAB character in fields.
 1.14 08-Jul-2001  blymn Add missing function and make some error returns into proper eti.h
errors.
 1.13 28-Jun-2001  blymn Fix limits on dynamic fields.
 1.12 13-Jun-2001  wiz withough -> without
 1.11 04-Jun-2001  blymn * Only line wrap buffer 0 in set_field_buffer since this is the
only one displayed.
 1.10 11-May-2001  blymn * Rototilled internals to make multiline fields work correctly. Some
bugs remain such as vertical scrolling is not working and the field
is not correctly redrawn after being cleared. There are bound to be
others.
 1.9 06-Apr-2001  blymn * Fixed horizontal scrolling.
 1.8 25-Mar-2001  blymn * truncate field contents to field length if field is or becomes static
* Allow field options to be changed when field posted unless field
is the current one.
* Allow field justification to be changed when field posted unless it
is the current one.
* dynamic_field_info now returns field size in rows and columns if
the field is static - previously this was an error.
 1.7 16-Feb-2001  blymn replace strncpy with strlcpy.... 'nuff said.
 1.6 15-Feb-2001  blymn Truncate the buffer string to the field buffer size if the field is static.
 1.5 03-Feb-2001  blymn Buffer now wrapped and redrawn when buffer is set.
 1.4 30-Jan-2001  blymn When buffers are created they are given an empty string instead of just
being set to NULL. Stops us returning a NULL pointer for buffers that
are never set.
 1.3 16-Jan-2001  blymn Multiple fixes:

* A debug version of libform will be build if DEBUG_FORMS is defined
* Can no longer edit fields that do not have O_EDIT set
* Changed background attribute to A_NORMAL like ncurses
* Fixed truncation of field contents when content length == field length
* Current field is set to first visible & active field on form post
 1.2 04-Jan-2001  blymn * Changed type of userptr to be void * (now matches ncurses)
* Bumped lib major version due to above.
* Changed debug output to go to a file instead of stderr, the file gets
opened when the form is posted iff one is not already open.
 1.1 17-Dec-2000  blymn Added early release version of libform - please be gentle.
 1.25.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.25.6.1 22-May-2014  yamt 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")
 1.27.4.1 05-Nov-2015  riz Pull up following revision(s) (requested by joerg in ticket #980):
lib/libform/form.h: revision 1.23
lib/libform/field.c: revision 1.29
Constify set_field_buffer.
 1.7 19-Mar-2006  christos Coverity CID 1553: Fix memory leak. While here, fix malloc calls:
- don't cast
- use sizeof(var) instead of sizeof(type)
 1.6 09-Mar-2003  lukem use __RCSID()
 1.5 22-Aug-2002  blymn Allow either the field_check or char_check pointers to be NULL, as
suggested in PR 18028.
 1.4 07-Aug-2002  blymn Fix null dereference in set_field_type.
 1.3 13-Jun-2001  wiz withough -> without
 1.2 20-Jan-2001  blymn * Fixed common error in all types code
* Removed the args field from types struct and made sure the args in
the field are used.
 1.1 17-Dec-2000  blymn Added early release version of libform - please be gentle.
 1.17 13-Apr-2021  christos - fix memory leak
- xxx questionable allocation
- remove casts
- use sizeof(*var)
- bcopy -> memcpy/memmove
 1.16 09-Mar-2016  christos PR/50919: David Binderman: Re-do all the debug stuff in a more sustainable way.
 1.15 24-Nov-2004  blymn * Rewrote internal handling of multiline field line data to fix a bug
where a newly opened line would immediately get wrapped out of existence.
The old method of handling lines in a multiline field did not cope with
this elegantly.

* Added new field flag O_REFORMAT which, when set, returns the field
buffer with newlines inserted where the line wrapped. Previously, there
was no way of preserving the on screen format of a multiline field.

* Added new file gdbinit which contains a macro to verify and print
the multiline field line data structure.

* Bumped libform major number due to changes in the _form_field structure.
 1.14 09-Mar-2003  lukem use __RCSID()
 1.13 02-Aug-2002  blymn Do not free the first element of the fields array. This fixes pr 17754.
 1.12 20-May-2002  blymn * Major rework to allow the TAB character in fields.
 1.11 27-Sep-2001  blymn Removed stray characters in comment block.
 1.10 08-Jul-2001  blymn Fix error returns.
 1.9 13-Jun-2001  wiz withough -> without
 1.8 16-May-2001  blymn Fixed wrapping of multiline fields.
 1.7 11-May-2001  blymn * Rototilled internals to make multiline fields work correctly. Some
bugs remain such as vertical scrolling is not working and the field
is not correctly redrawn after being cleared. There are bound to be
others.
 1.6 06-Apr-2001  blymn * Fixed horizontal scrolling.
 1.5 25-Mar-2001  blymn * Fixed curses window handling, library no longer creates a subwin.
* Do not position the cursor in the field is O_PUBLIC is not set.
 1.4 16-Feb-2001  blymn Added new function form_max_page.
 1.3 16-Jan-2001  blymn Multiple fixes:

* A debug version of libform will be build if DEBUG_FORMS is defined
* Can no longer edit fields that do not have O_EDIT set
* Changed background attribute to A_NORMAL like ncurses
* Fixed truncation of field contents when content length == field length
* Current field is set to first visible & active field on form post
 1.2 04-Jan-2001  blymn * Changed type of userptr to be void * (now matches ncurses)
* Bumped lib major version due to above.
* Changed debug output to go to a file instead of stderr, the file gets
opened when the form is posted iff one is not already open.
 1.1 17-Dec-2000  blymn Added early release version of libform - please be gentle.
 1.1 21-Nov-2024  riastradh branches: 1.1.4;
libform: Add expected symbols list.

PR lib/58838: shared libraries in base should all have expsym lists
 1.1.4.2 02-Aug-2025  perseant Sync with HEAD
 1.1.4.1 21-Nov-2024  perseant file form.expsym was added on branch perseant-exfatfs on 2025-08-02 05:54:49 +0000
 1.23 07-Sep-2015  joerg Constify set_field_buffer.
 1.22 26-Nov-2013  christos branches: 1.22.4;
goodbye CIRCLEQ, welcome TAILQ
 1.21 28-Nov-2011  joerg branches: 1.21.6;
Kill a bunch of manual __attribute__ usages and replace them with the
equivalent sys/cdefs.h invocation.
 1.20 03-Feb-2010  roy branches: 1.20.6;
Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.19 24-Nov-2004  blymn * Rewrote internal handling of multiline field line data to fix a bug
where a newly opened line would immediately get wrapped out of existence.
The old method of handling lines in a multiline field did not cope with
this elegantly.

* Added new field flag O_REFORMAT which, when set, returns the field
buffer with newlines inserted where the line wrapped. Previously, there
was no way of preserving the on screen format of a multiline field.

* Added new file gdbinit which contains a macro to verify and print
the multiline field line data structure.

* Bumped libform major number due to changes in the _form_field structure.
 1.18 23-Jan-2004  blymn Add defines MIN_FORM_COMMAND and MAX_FORM_COMMAND for ncurses
compatibility. This closes PR 20029.
 1.17 09-Aug-2002  blymn Added extension to interface, set_field_printf which allows a printf
style setting of field buffers.
 1.16 20-May-2002  blymn * Major rework to allow the TAB character in fields.
 1.15 18-Jul-2001  blymn line up function prototype names.
 1.14 08-Jul-2001  blymn ansify field_info prototype.
 1.13 13-Jun-2001  wiz withough -> without
 1.12 11-May-2001  blymn * Rototilled internals to make multiline fields work correctly. Some
bugs remain such as vertical scrolling is not working and the field
is not correctly redrawn after being cleared. There are bound to be
others.
 1.11 06-Apr-2001  blymn * Fixed horizontal scrolling.
 1.10 25-Mar-2001  blymn * Bracket constant defines
* Driver commands are now offset by curses KEY_MAX
 1.9 16-Feb-2001  blymn Added new function form_max_page.
 1.8 10-Feb-2001  blymn Added ipv6 builtin type.
 1.7 30-Jan-2001  blymn Added field and character checking.
 1.6 23-Jan-2001  blymn Added support for the O_OVERLOAD_* form options.
 1.5 20-Jan-2001  blymn * Fixed common error in all types code
* Removed the args field from types struct and made sure the args in
the field are used.
 1.4 16-Jan-2001  cgd comment or delete text after CPP directives.
 1.3 16-Jan-2001  blymn Multiple fixes:

* A debug version of libform will be build if DEBUG_FORMS is defined
* Can no longer edit fields that do not have O_EDIT set
* Changed background attribute to A_NORMAL like ncurses
* Fixed truncation of field contents when content length == field length
* Current field is set to first visible & active field on form post
 1.2 04-Jan-2001  blymn * Changed type of userptr to be void * (now matches ncurses)
* Bumped lib major version due to above.
* Changed debug output to go to a file instead of stderr, the file gets
opened when the form is posted iff one is not already open.
 1.1 17-Dec-2000  blymn Added early release version of libform - please be gentle.
 1.20.6.2 22-May-2014  yamt 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")
 1.20.6.1 17-Apr-2012  yamt sync with head
 1.21.6.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.22.4.1 05-Nov-2015  riz Pull up following revision(s) (requested by joerg in ticket #980):
lib/libform/form.h: revision 1.23
lib/libform/field.c: revision 1.29
Constify set_field_buffer.
 1.9 22-Mar-2010  joerg Use .In instead of .Ar Pa for header files.
 1.8 24-Nov-2004  wiz Improve RETURN VALUES section.
 1.7 24-Nov-2004  wiz Mark up NULL.
 1.6 24-Nov-2004  wiz Use Aq instead of \*[Lt]\*[Gt].
 1.5 16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.4 20-Feb-2002  wiz Normalize Dd.
 1.3 07-Feb-2002  ross Generate <>& symbolically.
 1.2 15-Jan-2002  wiz Whitespace nits.
 1.1 08-Jul-2001  blymn Add man pages for libform.
 1.10 23-Oct-2017  abhinav Add the function names to the NAME section
 1.9 22-Mar-2010  joerg Use .In instead of .Ar Pa for header files.
 1.8 24-Nov-2004  wiz Mark up TRUE and FALSE.
 1.7 24-Nov-2004  wiz Use Aq instead of \*[Lt]\*[Gt].
 1.6 16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.5 01-Oct-2002  wiz New sentence, new line. From Robert Elz.
 1.4 20-Feb-2002  wiz Normalize Dd.
 1.3 07-Feb-2002  ross Generate <>& symbolically.
 1.2 15-Jan-2002  wiz Whitespace nits.
 1.1 08-Jul-2001  blymn Add man pages for libform.
 1.11 22-Mar-2010  joerg Use .In instead of .Ar Pa for header files.
 1.10 24-Nov-2004  wiz Mark up NULL.
 1.9 24-Nov-2004  wiz Use Aq instead of \*[Lt]\*[Gt].
 1.8 16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.7 31-Mar-2003  perry currrent->current, accomodate->accommodate from Igor Sobrado PR misc/19814
also recognise->recognize (sorry, I know, flames anticipated.)
 1.6 01-Oct-2002  wiz New sentence, new line. From Robert Elz.
 1.5 06-Aug-2002  wiz The argument of .Fn should look like this:
.Fn function_name "int first" "char *second"
not like this:
.Fn function_name "int first, char *second".
 1.4 20-Feb-2002  wiz Normalize Dd.
 1.3 07-Feb-2002  ross Generate <>& symbolically.
 1.2 15-Jan-2002  wiz Whitespace nits.
 1.1 08-Jul-2001  blymn Add man pages for libform.
 1.12 08-Oct-2012  njoly Kill some extra spaces in function arguments.
 1.11 22-Mar-2010  joerg branches: 1.11.6; 1.11.12;
Use .In instead of .Ar Pa for header files.
 1.10 24-Nov-2004  wiz \-1, not -1.
 1.9 24-Nov-2004  wiz Mark up NULL.
 1.8 24-Nov-2004  wiz Use Aq instead of \*[Lt]\*[Gt].
 1.7 16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.6 01-Oct-2002  wiz New sentence, new line. From Robert Elz.
 1.5 06-Aug-2002  wiz The argument of .Fn should look like this:
.Fn function_name "int first" "char *second"
not like this:
.Fn function_name "int first, char *second".
 1.4 20-Feb-2002  wiz Normalize Dd.
 1.3 07-Feb-2002  ross Generate <>& symbolically.
 1.2 15-Jan-2002  wiz Whitespace nits.
 1.1 08-Jul-2001  blymn Add man pages for libform.
 1.11.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.11.6.1 30-Oct-2012  yamt sync with head
 1.10 22-Mar-2010  joerg Use .In instead of .Ar Pa for header files.
 1.9 24-Nov-2004  wiz Mark up NULL.
 1.8 24-Nov-2004  wiz Use Aq instead of \*[Lt]\*[Gt].
 1.7 16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.6 01-Oct-2002  wiz New sentence, new line. From Robert Elz.
 1.5 06-Aug-2002  wiz The argument of .Fn should look like this:
.Fn function_name "int first" "char *second"
not like this:
.Fn function_name "int first, char *second".
 1.4 20-Feb-2002  wiz Normalize Dd.
 1.3 07-Feb-2002  ross Generate <>& symbolically.
 1.2 15-Jan-2002  wiz Whitespace nits.
 1.1 08-Jul-2001  blymn Add man pages for libform.
 1.13 22-Mar-2010  joerg Use .In instead of .Ar Pa for header files.
 1.12 15-Oct-2005  peter Add missing prototype for set_max_field() and bump date.
From xs at kittenz dot org in PR/18668.
 1.11 24-Nov-2004  wiz Mark up NULL.
 1.10 24-Nov-2004  wiz Bump date for previous; mark up defined values with Dv;
use Aq instead of \*[Lt]\*[Gt].
 1.9 24-Nov-2004  blymn * Rewrote internal handling of multiline field line data to fix a bug
where a newly opened line would immediately get wrapped out of existence.
The old method of handling lines in a multiline field did not cope with
this elegantly.

* Added new field flag O_REFORMAT which, when set, returns the field
buffer with newlines inserted where the line wrapped. Previously, there
was no way of preserving the on screen format of a multiline field.

* Added new file gdbinit which contains a macro to verify and print
the multiline field line data structure.

* Bumped libform major number due to changes in the _form_field structure.
 1.8 16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.7 01-Oct-2002  wiz New sentence, new line. From Robert Elz.
 1.6 09-Aug-2002  blymn Added extension to interface, set_field_printf which allows a printf
style setting of field buffers.
 1.5 06-Aug-2002  wiz The argument of .Fn should look like this:
.Fn function_name "int first" "char *second"
not like this:
.Fn function_name "int first, char *second".
 1.4 20-Feb-2002  wiz Normalize Dd.
 1.3 07-Feb-2002  ross Generate <>& symbolically.
 1.2 15-Jan-2002  wiz Whitespace nits.
 1.1 08-Jul-2001  blymn Add man pages for libform.
 1.9 22-Mar-2010  joerg Use .In instead of .Ar Pa for header files.
 1.8 24-Nov-2004  wiz Use Aq instead of \*[Lt]\*[Gt].
 1.7 16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.6 01-Oct-2002  wiz New sentence, new line. From Robert Elz.
 1.5 06-Aug-2002  wiz Fix mdoc. Closes lib/17855.
 1.4 20-Feb-2002  wiz Normalize Dd.
 1.3 07-Feb-2002  ross Generate <>& symbolically.
 1.2 15-Jan-2002  wiz Whitespace nits.
 1.1 08-Jul-2001  blymn Add man pages for libform.
 1.11 22-Mar-2010  joerg Use .In instead of .Ar Pa for header files.
 1.10 24-Nov-2004  wiz Improve RETURN VALUES section.
 1.9 24-Nov-2004  wiz Mark up NULL.
 1.8 24-Nov-2004  wiz Use Aq instead of \*[Lt]\*[Gt].
 1.7 16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.6 01-Oct-2002  wiz New sentence, new line. From Robert Elz.
 1.5 06-Aug-2002  wiz The argument of .Fn should look like this:
.Fn function_name "int first" "char *second"
not like this:
.Fn function_name "int first, char *second".
 1.4 20-Feb-2002  wiz Normalize Dd.
 1.3 07-Feb-2002  ross Generate <>& symbolically.
 1.2 15-Jan-2002  wiz Whitespace nits.
 1.1 08-Jul-2001  blymn Add man pages for libform.
 1.11 22-Mar-2010  joerg Use .In instead of .Ar Pa for header files.
 1.10 24-Nov-2004  wiz Mark up NULL.
 1.9 24-Nov-2004  wiz Use Aq instead of \*[Lt]\*[Gt].
 1.8 16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.7 01-Oct-2002  wiz New sentence, new line. From Robert Elz.
 1.6 06-Aug-2002  wiz The argument of .Fn should look like this:
.Fn function_name "int first" "char *second"
not like this:
.Fn function_name "int first, char *second".
 1.5 20-Feb-2002  wiz Normalize Dd.
 1.4 07-Feb-2002  ross Generate <>& symbolically.
 1.3 15-Jan-2002  wiz Whitespace nits.
 1.2 18-Jul-2001  blymn new_field argument list too long, use .Fo/.Fa/.Fc
 1.1 08-Jul-2001  blymn Add man pages for libform.
 1.11 22-Mar-2010  joerg Use .In instead of .Ar Pa for header files.
 1.10 24-Nov-2004  wiz Bump date for previous; mark up defined values with Dv;
use Aq instead of \*[Lt]\*[Gt].
 1.9 24-Nov-2004  blymn * Rewrote internal handling of multiline field line data to fix a bug
where a newly opened line would immediately get wrapped out of existence.
The old method of handling lines in a multiline field did not cope with
this elegantly.

* Added new field flag O_REFORMAT which, when set, returns the field
buffer with newlines inserted where the line wrapped. Previously, there
was no way of preserving the on screen format of a multiline field.

* Added new file gdbinit which contains a macro to verify and print
the multiline field line data structure.

* Bumped libform major number due to changes in the _form_field structure.
 1.8 16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.7 15-Mar-2003  wiz Use "its" instead of "it's" where appropriate.
From Soren Jacobsen in PR 20730.
 1.6 01-Oct-2002  wiz New sentence, new line. From Robert Elz.
 1.5 06-Aug-2002  wiz The argument of .Fn should look like this:
.Fn function_name "int first" "char *second"
not like this:
.Fn function_name "int first, char *second".
 1.4 20-Feb-2002  wiz Normalize Dd.
 1.3 07-Feb-2002  ross Generate <>& symbolically.
 1.2 15-Jan-2002  wiz Whitespace nits.
 1.1 08-Jul-2001  blymn Add man pages for libform.
 1.9 22-Mar-2010  joerg Use .In instead of .Ar Pa for header files.
 1.8 24-Nov-2004  wiz Mark up NULL.
 1.7 24-Nov-2004  wiz Use Aq instead of \*[Lt]\*[Gt].
 1.6 16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.5 06-Aug-2002  wiz The argument of .Fn should look like this:
.Fn function_name "int first" "char *second"
not like this:
.Fn function_name "int first, char *second".
 1.4 20-Feb-2002  wiz Normalize Dd.
 1.3 07-Feb-2002  ross Generate <>& symbolically.
 1.2 15-Jan-2002  wiz Whitespace nits.
 1.1 08-Jul-2001  blymn Add man pages for libform.
 1.10 22-Mar-2010  joerg Use .In instead of .Ar Pa for header files.
 1.9 24-Nov-2004  wiz Mark up NULL.
 1.8 24-Nov-2004  wiz Use Aq instead of \*[Lt]\*[Gt].
 1.7 16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.6 01-Oct-2002  wiz New sentence, new line. From Robert Elz.
 1.5 06-Aug-2002  wiz The argument of .Fn should look like this:
.Fn function_name "int first" "char *second"
not like this:
.Fn function_name "int first, char *second".
 1.4 20-Feb-2002  wiz Normalize Dd.
 1.3 07-Feb-2002  ross Generate <>& symbolically.
 1.2 15-Jan-2002  wiz Whitespace nits.
 1.1 08-Jul-2001  blymn Add man pages for libform.
 1.11 22-Mar-2010  joerg Use .In instead of .Ar Pa for header files.
 1.10 24-Nov-2004  wiz Mark up TRUE and FALSE.
 1.9 24-Nov-2004  wiz Mark up NULL.
 1.8 24-Nov-2004  wiz Use Aq instead of \*[Lt]\*[Gt].
 1.7 16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.6 01-Oct-2002  wiz New sentence, new line. From Robert Elz.
 1.5 06-Aug-2002  wiz The argument of .Fn should look like this:
.Fn function_name "int first" "char *second"
not like this:
.Fn function_name "int first, char *second".
 1.4 20-Feb-2002  wiz Normalize Dd.
 1.3 07-Feb-2002  ross Generate <>& symbolically.
 1.2 15-Jan-2002  wiz Whitespace nits.
 1.1 08-Jul-2001  blymn Add man pages for libform.
 1.10 22-Mar-2010  joerg Use .In instead of .Ar Pa for header files.
 1.9 24-Nov-2004  wiz Mark up NULL.
 1.8 24-Nov-2004  wiz Use Aq instead of \*[Lt]\*[Gt].
 1.7 16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.6 01-Oct-2002  wiz New sentence, new line. From Robert Elz.
 1.5 06-Aug-2002  wiz The argument of .Fn should look like this:
.Fn function_name "int first" "char *second"
not like this:
.Fn function_name "int first, char *second".
 1.4 20-Feb-2002  wiz Normalize Dd.
 1.3 07-Feb-2002  ross Generate <>& symbolically.
 1.2 15-Jan-2002  wiz Whitespace nits.
 1.1 08-Jul-2001  blymn Add man pages for libform.
 1.9 22-Mar-2010  joerg Use .In instead of .Ar Pa for header files.
 1.8 24-Nov-2004  wiz Mark up NULL.
 1.7 24-Nov-2004  wiz Use Aq instead of \*[Lt]\*[Gt].
 1.6 16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.5 01-Oct-2002  wiz New sentence, new line. From Robert Elz.
 1.4 20-Feb-2002  wiz Normalize Dd.
 1.3 07-Feb-2002  ross Generate <>& symbolically.
 1.2 15-Jan-2002  wiz Whitespace nits.
 1.1 08-Jul-2001  blymn Add man pages for libform.
 1.11 22-Mar-2010  joerg Use .In instead of .Ar Pa for header files.
 1.10 24-Nov-2004  wiz Improve RETURN VALUES section.
 1.9 24-Nov-2004  wiz Mark up TRUE and FALSE.
 1.8 24-Nov-2004  wiz Mark up NULL.
 1.7 24-Nov-2004  wiz Use Aq instead of \*[Lt]\*[Gt].
 1.6 16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.5 06-Aug-2002  wiz The argument of .Fn should look like this:
.Fn function_name "int first" "char *second"
not like this:
.Fn function_name "int first, char *second".
 1.4 20-Feb-2002  wiz Normalize Dd.
 1.3 07-Feb-2002  ross Generate <>& symbolically.
 1.2 15-Jan-2002  wiz Whitespace nits.
 1.1 08-Jul-2001  blymn Add man pages for libform.
 1.10 22-Mar-2010  joerg Use .In instead of .Ar Pa for header files.
 1.9 24-Nov-2004  wiz Mark up NULL.
 1.8 24-Nov-2004  wiz Use Aq instead of \*[Lt]\*[Gt].
 1.7 16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.6 01-Oct-2002  wiz New sentence, new line. From Robert Elz.
 1.5 06-Aug-2002  wiz The argument of .Fn should look like this:
.Fn function_name "int first" "char *second"
not like this:
.Fn function_name "int first, char *second".
 1.4 20-Feb-2002  wiz Normalize Dd.
 1.3 07-Feb-2002  ross Generate <>& symbolically.
 1.2 15-Jan-2002  wiz Whitespace nits.
 1.1 08-Jul-2001  blymn Add man pages for libform.
 1.10 22-Mar-2010  joerg Use .In instead of .Ar Pa for header files.
 1.9 24-Nov-2004  wiz Mark up NULL.
 1.8 24-Nov-2004  wiz Use Aq instead of \*[Lt]\*[Gt].
 1.7 16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.6 01-Oct-2002  wiz New sentence, new line. From Robert Elz.
 1.5 06-Aug-2002  wiz The argument of .Fn should look like this:
.Fn function_name "int first" "char *second"
not like this:
.Fn function_name "int first, char *second".
 1.4 20-Feb-2002  wiz Normalize Dd, use Nx.
 1.3 07-Feb-2002  ross Generate <>& symbolically.
 1.2 15-Jan-2002  wiz Whitespace nits.
 1.1 08-Jul-2001  blymn Add man pages for libform.
 1.10 22-Mar-2010  joerg Use .In instead of .Ar Pa for header files.
 1.9 24-Nov-2004  wiz Improve RETURN VALUES section.
 1.8 24-Nov-2004  wiz Mark up NULL.
 1.7 24-Nov-2004  wiz Use Aq instead of \*[Lt]\*[Gt].
 1.6 16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.5 01-Oct-2002  wiz New sentence, new line. From Robert Elz.
 1.4 20-Feb-2002  wiz Normalize Dd.
 1.3 07-Feb-2002  ross Generate <>& symbolically.
 1.2 15-Jan-2002  wiz Whitespace nits.
 1.1 08-Jul-2001  blymn Add man pages for libform.
 1.9 22-Mar-2010  joerg Use .In instead of .Ar Pa for header files.
 1.8 24-Nov-2004  wiz Mark up NULL.
 1.7 24-Nov-2004  wiz Use Aq instead of \*[Lt]\*[Gt].
 1.6 16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.5 06-Aug-2002  wiz The argument of .Fn should look like this:
.Fn function_name "int first" "char *second"
not like this:
.Fn function_name "int first, char *second".
 1.4 20-Feb-2002  wiz Normalize Dd.
 1.3 07-Feb-2002  ross Generate <>& symbolically.
 1.2 15-Jan-2002  wiz Whitespace nits.
 1.1 08-Jul-2001  blymn Add man pages for libform.
 1.10 22-Mar-2010  joerg Use .In instead of .Ar Pa for header files.
 1.9 24-Nov-2004  wiz Mark up NULL.
 1.8 24-Nov-2004  wiz Use Aq instead of \*[Lt]\*[Gt].
 1.7 16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.6 01-Oct-2002  wiz New sentence, new line. From Robert Elz.
 1.5 06-Aug-2002  wiz The argument of .Fn should look like this:
.Fn function_name "int first" "char *second"
not like this:
.Fn function_name "int first, char *second".
 1.4 20-Feb-2002  wiz Normalize Dd.
 1.3 07-Feb-2002  ross Generate <>& symbolically.
 1.2 15-Jan-2002  wiz Whitespace nits.
 1.1 08-Jul-2001  blymn Add man pages for libform.
 1.17 03-Jul-2017  wiz Remove workaround for ancient HTML generation code.
 1.16 24-Nov-2004  wiz Bump date for previous; mark up defined values with Dv;
use Aq instead of \*[Lt]\*[Gt].
 1.15 24-Nov-2004  blymn * Rewrote internal handling of multiline field line data to fix a bug
where a newly opened line would immediately get wrapped out of existence.
The old method of handling lines in a multiline field did not cope with
this elegantly.

* Added new field flag O_REFORMAT which, when set, returns the field
buffer with newlines inserted where the line wrapped. Previously, there
was no way of preserving the on screen format of a multiline field.

* Added new file gdbinit which contains a macro to verify and print
the multiline field line data structure.

* Bumped libform major number due to changes in the _form_field structure.
 1.14 21-Apr-2004  wiz Use mdoc macros instead of roff to mark up table;
mark up some more stuff.
 1.13 21-Apr-2004  kim Formatting tweaks to make things line up yet not have columns
run into each other. Fix one typo while here.
 1.12 16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.11 31-Mar-2003  perry curent->current from Igor Sobrado in PR misc/19814
plus some other spelling errors and (sorry) some UK->USing for
consistency.
 1.10 01-Oct-2002  wiz New sentence, new line. From Robert Elz.
 1.9 09-Aug-2002  blymn Added extension to interface, set_field_printf which allows a printf
style setting of field buffers.
 1.8 20-May-2002  blymn * Major rework to allow the TAB character in fields.
 1.7 20-Feb-2002  wiz Two fixes by Patrick Welche, and two by me.
 1.6 20-Feb-2002  wiz Fix some markup, add menus(3) to SEE ALSO.
 1.5 07-Feb-2002  ross generate & symbolically
 1.4 07-Feb-2002  ross Generate <>& symbolically.
 1.3 15-Jan-2002  wiz Whitespace nits.
 1.2 05-Aug-2001  blymn Added notes about differences between this libform and the original AT&T
implementation.
 1.1 08-Jul-2001  blymn Add man pages for libform.
 1.1 24-Nov-2004  blymn * Rewrote internal handling of multiline field line data to fix a bug
where a newly opened line would immediately get wrapped out of existence.
The old method of handling lines in a multiline field did not cope with
this elegantly.

* Added new field flag O_REFORMAT which, when set, returns the field
buffer with newlines inserted where the line wrapped. Previously, there
was no way of preserving the on screen format of a multiline field.

* Added new file gdbinit which contains a macro to verify and print
the multiline field line data structure.

* Bumped libform major number due to changes in the _form_field structure.
 1.43 01-Aug-2023  mrg pass the struct size to malloc(), not the pointer size.
found by GCC 12.
 1.42 25-Oct-2021  blymn Fix for PR lib/47398

Move cursor to end of the currently active field and sync the cursor
location so the cursor get positioned correctly when the form window
is refreshed.
 1.41 19-Oct-2021  blymn Fix for PR lib/47397

Fix a misinterpretation of the role of field fore and back. Now field
pad is rendered in the back attribute always instead of only being used
for the non-current field.
 1.40 13-Apr-2021  christos - fix memory leak
- xxx questionable allocation
- remove casts
- use sizeof(*var)
- bcopy -> memcpy/memmove
 1.39 08-Nov-2018  msaitoh "s/ are are / are /" in comment. No functional change.
 1.38 09-Mar-2016  christos branches: 1.38.14; 1.38.16;
PR/50919: David Binderman: Re-do all the debug stuff in a more sustainable way.
 1.37 26-Nov-2013  christos goodbye CIRCLEQ, welcome TAILQ
 1.36 19-Jan-2013  mbalmer Fix typo.
 1.35 23-May-2011  joerg branches: 1.35.4; 1.35.10;
Save space, kill some ()
 1.34 13-May-2010  tnozaki cast isblank(3)'s argument to unsigned char.
 1.33 03-Feb-2010  roy Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.32 09-Apr-2006  christos make debug build work.
 1.31 19-Mar-2006  christos Coverity CID 107[123]: Leave the assertions in the code, not only when DEBUG
is set.
 1.30 24-Nov-2004  blymn * Rewrote internal handling of multiline field line data to fix a bug
where a newly opened line would immediately get wrapped out of existence.
The old method of handling lines in a multiline field did not cope with
this elegantly.

* Added new field flag O_REFORMAT which, when set, returns the field
buffer with newlines inserted where the line wrapped. Previously, there
was no way of preserving the on screen format of a multiline field.

* Added new file gdbinit which contains a macro to verify and print
the multiline field line data structure.

* Bumped libform major number due to changes in the _form_field structure.
 1.29 09-Mar-2003  lukem use __RCSID()
 1.28 07-Aug-2002  blymn Prevent field scrolling when REQ_RIGHT_CHAR hits the RHS of the field.
 1.27 02-Aug-2002  blymn Allow REQ_RIGHT_CHAR to get to the end of the line.
 1.26 29-Jul-2002  blymn * Fix bad function reference.
 1.25 29-Jul-2002  blymn * Fix cursor motion bugs referred to in pr 17480
* Handle cursor motion for justifications other than left justified.
 1.24 08-Jul-2002  blymn * Set character attributes when adding pad to field, null fields will
now be displayed correctly (fixes part 1 of pr 17480)
* Prevent field manipulations on null fields, the fields have nothing in
them so they should not be manipulated.
 1.23 20-May-2002  blymn * Major rework to allow the TAB character in fields.
 1.22 05-Aug-2001  blymn * Wrap field size checking into a function, makes if's more readable
* Fixed bad post character calculation on a dynamic single line field
that has field contents greater than the field length and had scrolled.
 1.21 28-Jun-2001  blymn Fix limits on dynamic fields.
 1.20 23-Jun-2001  blymn * Fixed REQ_DEL_CHAR for multi-line fields.
* Fixed REQ_DEL_LINE for multi-line fields.
 1.19 04-Jun-2001  blymn * Make req_del_prev work in multiline field.
 1.18 25-May-2001  blymn * Fix forward word and backward word driver commands.
 1.17 23-May-2001  blymn * Fix some of the cursor motion commands to handle multiline fields
* Fix line wrapping code for multiline fields
 1.16 16-May-2001  blymn Fixed wrapping of multiline fields.
 1.15 11-May-2001  blymn * Rototilled internals to make multiline fields work correctly. Some
bugs remain such as vertical scrolling is not working and the field
is not correctly redrawn after being cleared. There are bound to be
others.
 1.14 06-Apr-2001  blymn * Fix horizontal scrolling
* Fix cursor positioning at the end of a static field
* Fix the end field request handler.
 1.13 25-Mar-2001  blymn * Fix wrapping behaviour - O_WRAP turns on/off wrapping on word
boundaries.
* Only justify static fields and only scroll dynamic fields.
* Handle O_PUBLIC and O_VISIBLE flags when drawing field.
* Changes to support new curses window handling.
 1.12 15-Feb-2001  blymn Avoid trying to wrap a single row field.
 1.11 10-Feb-2001  blymn Check NULL0K _before_ PASSOK and clean up the PASSOK logic.
 1.10 06-Feb-2001  blymn * Moved field overflow check into _formi_add_char to allow overwriting a
full field.
* Fixed buf0_status being reset so O_BLANK now works correctly.
 1.9 03-Feb-2001  blymn Fixed the counting of rows in the field.
Fixed O_NULLOK handling in field validation
 1.8 30-Jan-2001  blymn Added field and character checking.
 1.7 23-Jan-2001  blymn Fix off by one bug in field scrolling decision when inserting chars.
 1.6 22-Jan-2001  blymn Don't manipulate a field with a null string pointer.
Cleaned up debug code to handle null string pointer case too.
 1.5 18-Jan-2001  blymn Fixed segv if a field that never had buffer 0 set has characters added
to it.
 1.4 18-Jan-2001  blymn * Stop next/prev field commands wrapping
* Made debug file open a function call that can be called multiple
times.
* Fixed the enum type.
 1.3 16-Jan-2001  blymn Multiple fixes:

* A debug version of libform will be build if DEBUG_FORMS is defined
* Can no longer edit fields that do not have O_EDIT set
* Changed background attribute to A_NORMAL like ncurses
* Fixed truncation of field contents when content length == field length
* Current field is set to first visible & active field on form post
 1.2 04-Jan-2001  blymn * Changed type of userptr to be void * (now matches ncurses)
* Bumped lib major version due to above.
* Changed debug output to go to a file instead of stderr, the file gets
opened when the form is posted iff one is not already open.
 1.1 17-Dec-2000  blymn Added early release version of libform - please be gentle.
 1.35.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.35.10.1 25-Feb-2013  tls resync with head
 1.35.4.2 22-May-2014  yamt 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")
 1.35.4.1 23-Jan-2013  yamt sync with head
 1.38.16.1 10-Jun-2019  christos Sync with HEAD
 1.38.14.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.11 09-Mar-2016  christos PR/50919: David Binderman: Re-do all the debug stuff in a more sustainable way.
 1.10 24-Nov-2004  blymn * Rewrote internal handling of multiline field line data to fix a bug
where a newly opened line would immediately get wrapped out of existence.
The old method of handling lines in a multiline field did not cope with
this elegantly.

* Added new field flag O_REFORMAT which, when set, returns the field
buffer with newlines inserted where the line wrapped. Previously, there
was no way of preserving the on screen format of a multiline field.

* Added new file gdbinit which contains a macro to verify and print
the multiline field line data structure.

* Bumped libform major number due to changes in the _form_field structure.
 1.9 29-Jul-2002  blymn * Fix cursor motion bugs referred to in pr 17480
* Handle cursor motion for justifications other than left justified.
 1.8 20-May-2002  blymn * Major rework to allow the TAB character in fields.
 1.7 13-Jun-2001  wiz withough -> without
 1.6 11-May-2001  blymn * Rototilled internals to make multiline fields work correctly. Some
bugs remain such as vertical scrolling is not working and the field
is not correctly redrawn after being cleared. There are bound to be
others.
 1.5 03-Feb-2001  blymn Made the field wrapping function available to other modules.
 1.4 30-Jan-2001  blymn Added field and character checking.
 1.3 21-Jan-2001  blymn Prototype function for opening debug file.
 1.2 04-Jan-2001  blymn * Changed type of userptr to be void * (now matches ncurses)
* Bumped lib major version due to above.
* Changed debug output to go to a file instead of stderr, the file gets
opened when the form is posted iff one is not already open.
 1.1 17-Dec-2000  blymn Added early release version of libform - please be gentle.
 1.10 09-Mar-2016  christos PR/50919: David Binderman: Re-do all the debug stuff in a more sustainable way.
 1.9 09-Mar-2003  lukem use __RCSID()
 1.8 13-Jun-2001  wiz withough -> without
 1.7 25-Mar-2001  blymn * Remove code that created the subwin if it did not exist as this is
not the correct behaviour.
* Mods to support new curses window behaviour.
 1.6 22-Jan-2001  blymn Changed ordering of the cursor positioning call so the posted flag is
set before form_pos_cursor is called.
 1.5 21-Jan-2001  blymn Position cursor when posting the form.
 1.4 18-Jan-2001  blymn * Stop next/prev field commands wrapping
* Made debug file open a function call that can be called multiple
times.
* Fixed the enum type.
 1.3 16-Jan-2001  blymn Multiple fixes:

* A debug version of libform will be build if DEBUG_FORMS is defined
* Can no longer edit fields that do not have O_EDIT set
* Changed background attribute to A_NORMAL like ncurses
* Fixed truncation of field contents when content length == field length
* Current field is set to first visible & active field on form post
 1.2 04-Jan-2001  blymn * Changed type of userptr to be void * (now matches ncurses)
* Bumped lib major version due to above.
* Changed debug output to go to a file instead of stderr, the file gets
opened when the form is posted iff one is not already open.
 1.1 17-Dec-2000  blymn Added early release version of libform - please be gentle.
 1.19 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.18 30-Jun-2019  blymn Bump major number due to libcurses major bump
 1.17 11-Jan-2009  christos branches: 1.17.48;
bump shared libraries.
 1.16 24-Nov-2004  blymn * Rewrote internal handling of multiline field line data to fix a bug
where a newly opened line would immediately get wrapped out of existence.
The old method of handling lines in a multiline field did not cope with
this elegantly.

* Added new field flag O_REFORMAT which, when set, returns the field
buffer with newlines inserted where the line wrapped. Previously, there
was no way of preserving the on screen format of a multiline field.

* Added new file gdbinit which contains a macro to verify and print
the multiline field line data structure.

* Bumped libform major number due to changes in the _form_field structure.
 1.15 22-Mar-2004  jdc Increment major number (to 4) because of the libcurses major number change
and because of the change to match_enum().
 1.14 09-Aug-2002  blymn Added extension to interface, set_field_printf which allows a printf
style setting of field buffers.
 1.13 03-Dec-2001  christos bump major because of libcurses bump.
 1.12 25-Mar-2001  blymn Bumped major because driver commands have changed value and the subwin
is no longer created by the library.
 1.11 16-Feb-2001  blymn Added new function form_max_page.
 1.10 10-Feb-2001  blymn Added ipv6 builtin type.
 1.9 21-Jan-2001  blymn bump lib minor
 1.8 20-Jan-2001  blymn * Fixed common error in all types code
* Removed the args field from types struct and made sure the args in
the field are used.
 1.7 18-Jan-2001  blymn Fixed segv if a field that never had buffer 0 set has characters added
to it.
 1.6 18-Jan-2001  blymn * Stop next/prev field commands wrapping
* Made debug file open a function call that can be called multiple
times.
* Fixed the enum type.
 1.5 16-Jan-2001  blymn Multiple fixes:

* A debug version of libform will be build if DEBUG_FORMS is defined
* Can no longer edit fields that do not have O_EDIT set
* Changed background attribute to A_NORMAL like ncurses
* Fixed truncation of field contents when content length == field length
* Current field is set to first visible & active field on form post
 1.4 07-Jan-2001  jdc Bump libmenu and libform majors because of libcurses major bump.
Pointed out by mrg.
 1.3 04-Jan-2001  kleink Undo previous major bump - the ABI wasn't affected by the corresponding
code change.
 1.2 04-Jan-2001  blymn * Changed type of userptr to be void * (now matches ncurses)
* Bumped lib major version due to above.
* Changed debug output to go to a file instead of stderr, the file gets
opened when the form is posted iff one is not already open.
 1.1 17-Dec-2000  blymn Added early release version of libform - please be gentle.
 1.17.48.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.3 09-Mar-2003  lukem use __RCSID()
 1.2 13-Jun-2001  wiz withough -> without
 1.1 17-Dec-2000  blymn Added early release version of libform - please be gentle.
 1.12 13-Apr-2021  christos - fix memory leak
- xxx questionable allocation
- remove casts
- use sizeof(*var)
- bcopy -> memcpy/memmove
 1.11 13-Apr-2021  mrg allocate the potential trailing nul as well.
 1.10 24-Nov-2004  blymn * Rewrote internal handling of multiline field line data to fix a bug
where a newly opened line would immediately get wrapped out of existence.
The old method of handling lines in a multiline field did not cope with
this elegantly.

* Added new field flag O_REFORMAT which, when set, returns the field
buffer with newlines inserted where the line wrapped. Previously, there
was no way of preserving the on screen format of a multiline field.

* Added new file gdbinit which contains a macro to verify and print
the multiline field line data structure.

* Bumped libform major number due to changes in the _form_field structure.
 1.9 28-Oct-2004  dsl Use (unsigned char) cast to sanitise arguments to ctype functions.
 1.8 27-Oct-2004  dsl Fix a load of international alphabet problems with isxxx() and toupper()
Change isspace(*char_ptr) to isspace(*char_ptr & 0xff) so that the correct
piece of memory is looked at for the bit mask.
gcc optimises out the '& 0xff' (on i386 at least).
Fixes problems found by gcc when the splurious (int) cast is removed
from the #defines in ctype.h
 1.7 23-Apr-2004  simonb s/the the/the/ (only in sources that aren't regularly imported from
elsewhere).
 1.6 13-Jun-2001  wiz withough -> without
 1.5 23-Jan-2001  blymn Added check for null args pointer.
 1.4 21-Jan-2001  blymn Prevent negative index on strncpy if end = start = 0
 1.3 20-Jan-2001  augustss Make these compile again.
(Say after me: Compile before commit. :)
 1.2 20-Jan-2001  blymn * Fixed common error in all types code
* Removed the args field from types struct and made sure the args in
the field are used.
 1.1 17-Dec-2000  blymn Added early release version of libform - please be gentle.
 1.13 13-Apr-2021  christos - fix memory leak
- xxx questionable allocation
- remove casts
- use sizeof(*var)
- bcopy -> memcpy/memmove
 1.12 13-Apr-2021  mrg allocate the potential trailing nul as well.
 1.11 24-Nov-2004  blymn * Rewrote internal handling of multiline field line data to fix a bug
where a newly opened line would immediately get wrapped out of existence.
The old method of handling lines in a multiline field did not cope with
this elegantly.

* Added new field flag O_REFORMAT which, when set, returns the field
buffer with newlines inserted where the line wrapped. Previously, there
was no way of preserving the on screen format of a multiline field.

* Added new file gdbinit which contains a macro to verify and print
the multiline field line data structure.

* Bumped libform major number due to changes in the _form_field structure.
 1.10 28-Oct-2004  dsl Use (unsigned char) cast to sanitise arguments to ctype functions.
 1.9 27-Oct-2004  dsl Fix a load of international alphabet problems with isxxx() and toupper()
Change isspace(*char_ptr) to isspace(*char_ptr & 0xff) so that the correct
piece of memory is looked at for the bit mask.
gcc optimises out the '& 0xff' (on i386 at least).
Fixes problems found by gcc when the splurious (int) cast is removed
from the #defines in ctype.h
 1.8 23-Apr-2004  simonb s/the the/the/ (only in sources that aren't regularly imported from
elsewhere).
 1.7 09-Mar-2003  lukem use __RCSID()
 1.6 13-Jun-2001  wiz withough -> without
 1.5 23-Jan-2001  blymn Added check for null args pointer.
 1.4 21-Jan-2001  blymn Prevent negative index in strncpy if start = end = 0
 1.3 20-Jan-2001  augustss Make these compile again.
(Say after me: Compile before commit. :)
 1.2 20-Jan-2001  blymn * Fixed common error in all types code
* Removed the args field from types struct and made sure the args in
the field are used.
 1.1 17-Dec-2000  blymn Added early release version of libform - please be gentle.
 1.13 13-Apr-2021  christos - fix memory leak
- xxx questionable allocation
- remove casts
- use sizeof(*var)
- bcopy -> memcpy/memmove
 1.12 09-Mar-2016  christos PR/50919: David Binderman: Re-do all the debug stuff in a more sustainable way.
 1.11 13-May-2010  tnozaki cast isblank(3)'s argument to unsigned char.
 1.10 24-Nov-2004  blymn * Rewrote internal handling of multiline field line data to fix a bug
where a newly opened line would immediately get wrapped out of existence.
The old method of handling lines in a multiline field did not cope with
this elegantly.

* Added new field flag O_REFORMAT which, when set, returns the field
buffer with newlines inserted where the line wrapped. Previously, there
was no way of preserving the on screen format of a multiline field.

* Added new file gdbinit which contains a macro to verify and print
the multiline field line data structure.

* Bumped libform major number due to changes in the _form_field structure.
 1.9 23-Apr-2004  simonb s/the the/the/ (only in sources that aren't regularly imported from
elsewhere).
 1.8 22-Mar-2004  jdc Correct the fourth parameter to match_enum() to "exact" instead of "no blanks".
From Brett Lymn.
Part of the fix for PR bin/24604.
 1.7 09-Mar-2003  lukem use __RCSID()
 1.6 13-Jun-2001  wiz withough -> without
 1.5 30-Jan-2001  blymn Added field and character checking.
 1.4 23-Jan-2001  blymn Added check for null args pointer.
 1.3 20-Jan-2001  blymn * Fixed common error in all types code
* Removed the args field from types struct and made sure the args in
the field are used.
 1.2 18-Jan-2001  blymn * Stop next/prev field commands wrapping
* Made debug file open a function call that can be called multiple
times.
* Fixed the enum type.
 1.1 17-Dec-2000  blymn Added early release version of libform - please be gentle.
 1.9 13-Apr-2021  christos - fix memory leak
- xxx questionable allocation
- remove casts
- use sizeof(*var)
- bcopy -> memcpy/memmove
 1.8 28-Oct-2004  dsl Use (unsigned char) cast to sanitise arguments to ctype functions.
 1.7 27-Oct-2004  dsl Fix a load of international alphabet problems with isxxx() and toupper()
Change isspace(*char_ptr) to isspace(*char_ptr & 0xff) so that the correct
piece of memory is looked at for the bit mask.
gcc optimises out the '& 0xff' (on i386 at least).
Fixes problems found by gcc when the splurious (int) cast is removed
from the #defines in ctype.h
 1.6 23-Apr-2004  simonb s/the the/the/ (only in sources that aren't regularly imported from
elsewhere).
 1.5 09-Mar-2003  lukem use __RCSID()
 1.4 13-Jun-2001  wiz withough -> without
 1.3 23-Jan-2001  blymn Added check for null args pointer.
 1.2 20-Jan-2001  blymn * Fixed common error in all types code
* Removed the args field from types struct and made sure the args in
the field are used.
 1.1 17-Dec-2000  blymn Added early release version of libform - please be gentle.
 1.11 09-Mar-2016  christos PR/50919: David Binderman: Re-do all the debug stuff in a more sustainable way.
 1.10 17-Jan-2007  hubertf Remove more duplicate #includes, and a few spurious whitespaces at EOL
From Slava Semushin <slava.semushin@gmail.com>
 1.9 24-Nov-2004  blymn * Rewrote internal handling of multiline field line data to fix a bug
where a newly opened line would immediately get wrapped out of existence.
The old method of handling lines in a multiline field did not cope with
this elegantly.

* Added new field flag O_REFORMAT which, when set, returns the field
buffer with newlines inserted where the line wrapped. Previously, there
was no way of preserving the on screen format of a multiline field.

* Added new file gdbinit which contains a macro to verify and print
the multiline field line data structure.

* Bumped libform major number due to changes in the _form_field structure.
 1.8 17-Apr-2003  lukem clear errno before strtol() if we're going to test it for ERANGE afterwards
 1.7 09-Mar-2003  lukem use __RCSID()
 1.6 13-Jun-2001  wiz withough -> without
 1.5 13-Feb-2001  blymn Various bug fixes:
* Allow the / char in the char_check routine
* Added debug for field checking
* Fixed handling of the 0xaabbccdd form
* Always set buffer 1 if it is available - previously dotted quad
did not set this buffer.
* Fixed segv if no dots found
 1.4 10-Feb-2001  blymn Extended the address formats that are allowed to include aa.bb.cc.dd/nn
and 0xaabbccdd styles.
 1.3 23-Jan-2001  blymn Added check for null args pointer.
 1.2 20-Jan-2001  blymn * Fixed common error in all types code
* Removed the args field from types struct and made sure the args in
the field are used.
 1.1 17-Dec-2000  blymn Added early release version of libform - please be gentle.
 1.10 24-Nov-2004  blymn * Rewrote internal handling of multiline field line data to fix a bug
where a newly opened line would immediately get wrapped out of existence.
The old method of handling lines in a multiline field did not cope with
this elegantly.

* Added new field flag O_REFORMAT which, when set, returns the field
buffer with newlines inserted where the line wrapped. Previously, there
was no way of preserving the on screen format of a multiline field.

* Added new file gdbinit which contains a macro to verify and print
the multiline field line data structure.

* Bumped libform major number due to changes in the _form_field structure.
 1.9 16-Nov-2004  itojun NI_WITHSCOPEID was not picked up by IETF standardization process
 1.8 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.7 09-Mar-2003  lukem use __RCSID()
 1.6 13-Jun-2001  wiz withough -> without
 1.5 12-May-2001  sommerfeld Add #include <string.h> to correct compile problem on alpha
 1.4 11-May-2001  blymn Changed check_field code to use standard library calls for checking
the IPV6 address. This code was provided to me by Itojun, thanks for
that go to him :-)
 1.3 16-Feb-2001  blymn Handle the "unknown" ipv6 address form (::).
 1.2 11-Feb-2001  blymn Fixed various bugs, the ipv6 type now works...
 1.1 10-Feb-2001  blymn New builtin type to handle ipv6 style addresses. Thanks to Charles
Hannum for suggesting this needed to be done.
 1.10 13-Apr-2021  christos - fix memory leak
- xxx questionable allocation
- remove casts
- use sizeof(*var)
- bcopy -> memcpy/memmove
 1.9 30-May-2016  dholland PR 51190 David Binderman: simplify redundant conditionals.
Also add paranoia when looping on isdigit().
 1.8 28-Oct-2004  dsl Use (unsigned char) cast to sanitise arguments to ctype functions.
 1.7 27-Oct-2004  dsl Fix a load of international alphabet problems with isxxx() and toupper()
Change isspace(*char_ptr) to isspace(*char_ptr & 0xff) so that the correct
piece of memory is looked at for the bit mask.
gcc optimises out the '& 0xff' (on i386 at least).
Fixes problems found by gcc when the splurious (int) cast is removed
from the #defines in ctype.h
 1.6 23-Apr-2004  simonb s/the the/the/ (only in sources that aren't regularly imported from
elsewhere).
 1.5 09-Mar-2003  lukem use __RCSID()
 1.4 13-Jun-2001  wiz withough -> without
 1.3 23-Jan-2001  blymn Added check for null args pointer.
 1.2 20-Jan-2001  blymn * Fixed common error in all types code
* Removed the args field from types struct and made sure the args in
the field are used.
 1.1 17-Dec-2000  blymn Added early release version of libform - please be gentle.
 1.8 13-Apr-2021  christos - fix memory leak
- xxx questionable allocation
- remove casts
- use sizeof(*var)
- bcopy -> memcpy/memmove
 1.7 24-Nov-2004  blymn * Rewrote internal handling of multiline field line data to fix a bug
where a newly opened line would immediately get wrapped out of existence.
The old method of handling lines in a multiline field did not cope with
this elegantly.

* Added new field flag O_REFORMAT which, when set, returns the field
buffer with newlines inserted where the line wrapped. Previously, there
was no way of preserving the on screen format of a multiline field.

* Added new file gdbinit which contains a macro to verify and print
the multiline field line data structure.

* Bumped libform major number due to changes in the _form_field structure.
 1.6 23-Apr-2004  simonb s/the the/the/ (only in sources that aren't regularly imported from
elsewhere).
 1.5 09-Mar-2003  lukem use __RCSID()
 1.4 19-Jun-2002  blymn Fixed typo in type declaration.
 1.3 13-Jun-2001  wiz withough -> without
 1.2 20-Jan-2001  blymn * Fixed common error in all types code
* Removed the args field from types struct and made sure the args in
the field are used.
 1.1 17-Dec-2000  blymn Added early release version of libform - please be gentle.

RSS XML Feed