char
*
field_buffer(
FIELD *field
, int buffer
)
int
field_status(
FIELD *field
)
int
set_field_buffer(
FIELD *field
, int buffer
, char *value
)
int
set_field_printf(
FIELD *field
, int buffer
, char *fmt
, ...
)
int
set_field_status(
FIELD *field
, int status
)
int
set_max_field(
FIELD *field
, int max
)
)
function returns the contents of the buffer number specified by
buffer
for the given field.
If the requested buffer number exceeds the
number of buffers attached to the field then
NULL
will be returned.
If the field option
O_REFORMAT
is enabled on the given field then
storage will be allocated to hold the reformatted buffer.
This storage must be release by calling
free(3)
when it is no longer required.
If the
O_REFORMAT
field option is not set then no extra storage is allocated.
The field buffer may be set by calling
set_field_buffer(
)
which will set the given buffer number to the contents of the string
passed.
A buffer may also be set by calling
set_field_printf(
)
which sets the buffer using the format arg
fmt
after being expanded using the subsequent arguments in the same manner
as
sprintf(3)
does.
Calling
field_status(
)
will return the status of the first buffer attached to the field.
If the field has been modified then the function will return
TRUE
otherwise
FALSE
is returned, the status of the first buffer may be
programmatically set by calling
set_field_status(
).
The maximum growth of a dynamic field can be set by calling
set_max_field(
)
which limits the fields rows if the field is a multiline field or the
fields columns if the field only has a single row.
NULL
if an error is detected.
The functions that return an int will return one of the following error
values:
E_OK
E_BAD_ARGUMENT
E_SYSTEM_ERROR
form.h
>
automatically includes both
<
curses.h
>
and
<
eti.h
>.
The function
set_field_printf(
)
is a
NetBSD
extension and must not be used in portable code.