Provided by: libgetdata-doc_0.9.0-2.2_all bug

NAME

       gd_get_string — retrieve a string from a dirfile database

SYNOPSIS

       #include <getdata.h>

       size_t gd_get_string(DIRFILE *dirfile, const char *field_code, size_t len, char
              *data_out);

DESCRIPTION

       The gd_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
       gd_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 gd_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,  gd_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 use gd_getdata(3), or gd_get_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 gd_error(3).  A descriptive error string for
       the last error encountered may be obtained from a call to gd_error_string(3).

SEE ALSO

       dirfile(5), gd_open(3), gd_error(3), gd_error_string(3), gd_put_string(3)