- const char **gd_mfield_list(DIRFILE *dirfile, const char *parent);
The dirfile argument must point to a valid DIRFILE object previously created by a call to gd_open(3).
The array returned will be de-allocated by a call to gd_close(3) and should not be de-allocated by the caller. The list returned should not be assumed to be in any particular order. The array is terminated by a NULL pointer. The number of strings in the array can be obtained from a call to gd_nmfields(3).
The caller may not modify any strings in the array, or the array itself. Doing so may cause database corruption. The pointer returned is guaranteed to be valid until gd_mfield_list() is called again with the same arguments, or until the array is de-allocated by a call to gd_close(3).
RETURN VALUEUpon successful completion, gd_mfield_list() returns a pointer to an array of strings containing the names of all the metafields of the given parent. On error it returns NULL and sets the dirfile error to a non-zero error value. Possible error values are:
- The library was unable to allocate memory.
- The supplied parent field code was not found, or referred to a metafield itself.
- The supplied dirfile was invalid.