gd_validate(3)

NAME
gd_validate — check a dirfile field code for validity

SYNOPSIS
#include <getdata.h>

int gd_validate(DIRFILE *dirfile, const char *field_code);

DESCRIPTION
The gd_validate() function queries a dirfile(5) database specified by dirfile and checks whether field_code, which may contain a representation suffix, specifies a valid field. The dirfile argument must point to a valid DIRFILE object previously created by a call to gd_open(3). This function checks whether the field and its input fields (if any) are found, whether the representation suffix (if any) is valid, and also that all non-literal parameters specify valid scalar fields.

RETURN VALUE
If all checks pass, gd_validate() returns zero. On error, it returns -1 and sets the dirfile error to a non-zero error value. Possible error values are:

GD_E_BAD_CODE
    The field specified by field_code or one of the fields it uses as input was not found in the database.

GD_E_BAD_DIRFILE
    The supplied dirfile was invalid.

GD_E_BAD_REPR
    The representation suffix specified in field_code was not recognised.

GD_E_BAD_SCALAR
    A non-literal scalar used in the definition of the field or one of its inputs was not found, or was not a CONST or CARRAY field.

GD_E_DIMENSION
    A scalar field was found where a vector field was expected.

GD_E_RECURSE_LEVEL
    Too many levels of recursion were encountered while trying to resolve field_code. This usually indicates a circular dependency in field specification in the dirfile.

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).

NOTES
It is not necessary to call this function before passing a field code to another GetData function: all functions which accept field codes perform these checks themselves.

SEE ALSO
dirfile(5), gd_getdata(3), gd_error(3), gd_error_string(3), gd_open(3)