gd_array_len(3) returns the length of a CARRAY or SARRAY field in a dirfile


#include <getdata.h>
size_t gd_array_len(DIRFILE *dirfile, const char *field_code);


The gd_array_len() function queries a dirfile(5) database specified by dirfile and returns the number of length of the CARRAY, CONST, STRING, or SARRAY field called field_code. If field_code contains a valid representation suffix, it will be ignored.

The dirfile argument must point to a valid DIRFILE object previously created by a call to gd_open(3).


Upon successful completion, gd_array_len() returns the array length of the field specified. (The length of a CONST or a STRING field is always 1.) On error, it returns zero and sets the dirfile error to a non-zero error value. Possible error values are:
The library was unable to allocate memory.
The field specified by field_code was not found in the database.
The supplied dirfile was invalid.
The field specified by field_code was not of one of the field types listed above.

The dirfile error may be retrieved by calling gd_error(3). A descriptive error string for the last error encountered can be obtained from a call to gd_error_string(3).


This function used to be called gd_carray_len(). This name can still be used, but it has been marked deprecated.