get_string (3) Linux Manual Page
NAME
get_string — retrieve a string from a dirfile database
SYNOPSIS
#include <getdata.h>
-
size_t get_string(DIRFILE *dirfile, const char *field_code,size_tlen, char *data_out);
DESCRIPTION
get_string() function queries a dirfile(5) database specified by dirfile for the string scalar field_code, which should not contain a representation suffix. The first len characters of the string scalar are stored in the user-supplied buffer data_out.
The dirfile argument must point to a valid DIRFILE object previously created by a call to dirfile_open(3).
If len equals zero, or if data_out equals NULL, no data will be copied to data_out, but the length of the string scalar will still be returned by get_string(). Otherwise, the argument data_out must point to a valid memory location of sufficient size to hold at least len characters. If the length of the string scalar is greater than len, data_out will not be NULL-terminated.
RETURN VALUE
On success, get_string() returns the actual length of the specified string scalar, including the trailing NULL character. A return value greater than len indicates that the output string is not null terminated.
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 usegetdata(3), orget_constant(3) instead. GD_E_BAD_TYPE- An invalid return_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. 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_open(3), get_error(3), get_error_string(3), put_string(3)
