put_string (3) Linux Manual Page
put_string — retrieve a string from a dirfile database
Synopsis
#include <getdata.h>
int put_string(DIRFILE *dirfile, const char *field_code,
const char *data_in);
Description
put_string() function queries a dirfile(5) database specified by dirfile and sets the STRING field_code , which should not contain a representation suffix, to the value specified in data_in.
The dirfile argument must point to a valid DIRFILE object previously created by a call to dirfile_open(3).
Because string values are stored in the dirfile metadata, the new value of field_code won’t be written to disk until the dirfile metadata is flushed with dirfile_metaflush(3), or until the dirfile is closed.
Return Value
On success, put_string() returns the length of the string stored, including the trailing NUL character. On error, it returns 0 and sets the dirfile error to a non-zero value. Possible error values are:
GD_E_BAD_CODE- The field specified by field_code was not found in the database.
GD_E_BAD_DIRFILE- An invalid dirfile was supplied.
GD_E_BAD_FIELD_TYPE- The supplied field_code referred to a field of type other than
STRING. The caller should useputdata(3), orput_constant(3) instead. GD_E_BAD_REPR- The representation suffix specified in field_code was not recognised.
GD_E_BAD_TYPE- An invalid data_type was specified.
GD_E_INTERNAL_ERROR- An internal error occurred in the library while trying to perform the task. This indicates a bug in the library. Please report the incident to the maintainer.
GD_E_PROTECTED- The fragment containing the string was protected from change. The dirfile error may be retrieved by calling
get_error(3). A descriptive error string for the last error encountered may be obtained from a call toget_error_string(3).
See Also
dirfile(5), dirfile_metaflush(3), dirfile_open(3), getdata(3), get_string(3), get_error(3), get_error_string(3), putdata(3)
