<!--
* t
****************************************************************************
- * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2008,2010 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 *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_buffer.3x,v 1.12 2005/05/15 15:59:55 tom Exp @
+ * @Id: form_field_buffer.3x,v 1.19 2010/12/04 18:38:55 tom Exp @
-->
<HTML>
<HEAD>
</PRE>
<H2>SYNOPSIS</H2><PRE>
<STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+
int set_field_buffer(FIELD *field, int buf, const char
*value);
char *field_buffer(const FIELD *field, int buffer);
</PRE>
<H2>DESCRIPTION</H2><PRE>
The function <STRONG>set_field_buffer</STRONG> 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 <STRONG>nbuf</STRONG> argument
- of (see <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>) but are not manipulated by the
- forms library. The function <STRONG>field_buffer</STRONG> 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 own routine that copies the
- value out of the buffer and removes the leading and trail-
- ing 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.
+ the given field to contain a given string:
+
+ <STRONG>o</STRONG> Buffer 0 is the displayed value of the field.
+
+ <STRONG>o</STRONG> Other numbered buffers may be allocated by applica-
+ tions through the <STRONG>nbuf</STRONG> argument of (see
+ <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>) but are not manipulated by the
+ forms library.
+
+ The function <STRONG>field_buffer</STRONG> returns a pointer to the con-
+ tents of the given numbered buffer:
+
+ <STRONG>o</STRONG> The buffer contents always have the same length,
+ and are padded with trailing spaces as needed to
+ ensure this length is the same.
+
+ <STRONG>o</STRONG> The buffer may contain leading spaces, depending on
+ how it was set.
+
+ <STRONG>o</STRONG> The buffer contents are set with <STRONG>set_field_buffer</STRONG>,
+ or as a side effect of any editing operations on
+ the corresponding field.
+
+ <STRONG>o</STRONG> Editing operations are based on the <EM>window</EM> which
+ displays the field, rather than a <EM>string</EM>. The win-
+ dow 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.
+
+ <STRONG>o</STRONG> 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.
The function <STRONG>set_field_status</STRONG> sets the associated status
flag of <EM>field</EM>; <STRONG>field_status</STRONG> gets the current value. The
</PRE>
<H2>RETURN VALUE</H2><PRE>
- The <STRONG>field_buffer</STRONG> function returns NULL on error.
+ The <STRONG>field_buffer</STRONG> function returns NULL on error. It sets
+ errno according to their success:
+
+ <STRONG>E_OK</STRONG> The routine succeeded.
+
+ <STRONG>E_BAD_ARGUMENT</STRONG>
+ Routine detected an incorrect or out-of-range argu-
+ ment.
The <STRONG>field_status</STRONG> function returns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
The header file <STRONG><form.h></STRONG> automatically includes the header
file
- When configured for wide-characters, <STRONG>field_buffer</STRONG> returns
+ When configured for wide characters, <STRONG>field_buffer</STRONG> 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