X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=man%2Fform_field_buffer.3x;h=98b2e42dc831bb3356e7b9b090adbede5b20e445;hp=cac6a088e5ed4581c75bcb6934d704e5dde7d625;hb=fae162795e065e5901068152e91f2962b6b247f3;hpb=027ae42953e3186daed8f3882da73de48291b606 diff --git a/man/form_field_buffer.3x b/man/form_field_buffer.3x index cac6a088..98b2e42d 100644 --- a/man/form_field_buffer.3x +++ b/man/form_field_buffer.3x @@ -1,6 +1,7 @@ '\" t .\"*************************************************************************** -.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * +.\" Copyright 2018-2019,2020 Thomas E. Dickey * +.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. * .\" * .\" Permission is hereby granted, free of charge, to any person obtaining a * .\" copy of this software and associated documentation files (the * @@ -27,46 +28,78 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: form_field_buffer.3x,v 1.14 2006/11/04 17:12:00 tom Exp $ +.\" $Id: form_field_buffer.3x,v 1.27 2020/10/24 09:27:17 tom Exp $ .TH form_field_buffer 3X "" +.ie \n(.g .ds `` \(lq +.el .ds `` `` +.ie \n(.g .ds '' \(rq +.el .ds '' '' +.de bP +.ie n .IP \(bu 4 +.el .IP \(bu 2 +.. .SH NAME -\fBform_field_buffer\fR - field buffer control +\fBform_field_buffer\fR \- field buffer control .SH SYNOPSIS \fB#include \fR +.sp +\fBint set_field_buffer(FIELD *\fP\fIfield\fP\fB, int \fP\fIbuf\fP\fB, const char *\fP\fIvalue\fP\fB);\fP .br -int set_field_buffer(FIELD *field, int buf, const char *value); +\fBchar *field_buffer(const FIELD *\fP\fIfield\fP\fB, int \fP\fIbuffer\fP\fB);\fP +.sp +\fBint set_field_status(FIELD *\fP\fIfield\fP\fB, bool \fP\fIstatus\fP\fB);\fP .br -char *field_buffer(const FIELD *field, int buffer); -.br -int set_field_status(FIELD *field, bool status); -.br -bool field_status(const FIELD *field); -.br -int set_max_field(FIELD *field, int max); +\fBbool field_status(const FIELD *\fP\fIfield\fP\fB);\fP +.sp +\fBint set_max_field(FIELD *\fP\fIfield\fP\fB, int \fP\fImax\fP\fB);\fP .br .SH DESCRIPTION The function \fBset_field_buffer\fR sets the numbered buffer of the given field -to contain a given string. Buffer 0 is the displayed value of the field; other -numbered buffers may be allocated by applications through the \fBnbuf\fR -argument of (see \fBform_field_new\fR(3X)) but are not manipulated by the forms -library. The function \fBfield_buffer\fR returns the address of the buffer. -Please note that this buffer has always the length of the buffer, that means -that it may typically contain trailing spaces. If you entered leading spaces -the buffer may also contain them. If you want the raw data, you must write your +to contain a given string: +.RS 3 +.bP +Buffer 0 is the displayed value of the field. +.bP +Other numbered buffers may be allocated by applications through the \fBnbuf\fR +argument of (see \fBform_field_new\fR(3X)) +but are not manipulated by the forms library. +.RE +.PP +The function \fBfield_buffer\fR returns a pointer to +the contents of the given numbered buffer: +.RS 3 +.bP +The buffer contents always have the same length, +and are padded with trailing spaces +as needed to ensure this length is the same. +.bP +The buffer may contain leading spaces, depending on how it was set. +.bP +The buffer contents are set with \fBset_field_buffer\fP, +or as a side effect of any editing operations on the corresponding field. +.bP +Editing operations are based on the \fIwindow\fP which displays the field, +rather than a \fIstring\fP. +The window contains only printable characters, and is filled with blanks. +If you want the raw data, you must write your own routine that copies the value out of the buffer and removes the leading -and trailing spaces. Please note also, that subsequent operations on the form -will probably change the content of the buffer. So do not use it for long term -storage of the entered form data. +and trailing spaces. +.bP +Because editing operations change the content of the buffer to +correspond to the window, you should not rely on using buffers +for long-term storage of form data. +.RE .PP The function \fBset_field_status\fR sets the associated status flag of -\fIfield\fR; \fBfield_status\fR gets the current value. The status flag +\fIfield\fR; \fBfield_status\fR gets the current value. +The status flag is set to a nonzero value whenever the field changes. .PP The function \fBset_max_field\fR sets the maximum size for a dynamic field. An argument of 0 turns off any maximum size threshold for that field. .SH RETURN VALUE The \fBfield_buffer\fR function returns NULL on error. -It sets errno according to their success: +It sets \fBerrno\fP according to their success: .TP 5 .B E_OK The routine succeeded. @@ -82,31 +115,30 @@ The remaining routines return one of the following: The routine succeeded. .TP 5 .B E_SYSTEM_ERROR -System error occurred (see \fBerrno\fR). +System error occurred (see \fBerrno\fR(3)). .TP 5 .B E_BAD_ARGUMENT Routine detected an incorrect or out-of-range argument. .SH SEE ALSO -\fBcurses\fR(3X) and related pages whose names begin "form_" for detailed +\fBcurses\fR(3X) and related pages whose names begin \*(``form_\*('' for detailed descriptions of the entry points. .SH NOTES The header file \fB\fR automatically includes the header file .PP -When configured for wide-characters, \fBfield_buffer\fP returns a pointer +When configured for wide characters, \fBfield_buffer\fP returns a pointer to temporary storage (allocated and freed by the library). The application should not attempt to modify the data. It will be freed on the next call to \fBfield_buffer\fP to return the same buffer. \fB\fR. .SH PORTABILITY -These routines emulate the System V forms library. They were not supported on +These routines emulate the System V forms library. +They were not supported on Version 7 or BSD versions. +.PP +The \fBset_max_field\fP function checks for an ncurses extension +\fBO_INPUT_FIELD\fP which allows a dynamic field to shrink if the new +limit is smaller than the current field size. .SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: +Juergen Pfeifer. +Manual pages and adaptation for new curses by Eric S. Raymond.