Scroll to navigation

gd_validate(3) GETDATA gd_validate(3)


gd_validate — check a Dirfile field code for validity


#include <getdata.h>

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


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, and also that all non-literal parameters specify valid scalar fields.


If all checks pass, gd_validate() returns zero. On error, it returns a negative-valued error code. Possible error codes are:

The field specified by field_code or one of the fields it uses as input was not found in the database.
The supplied dirfile was invalid.
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.
A scalar field was found where a vector field was expected.

The error code is also stored in the DIRFILE object and may be retrieved after this function returns by calling gd_error(3). A descriptive error string for the error may be obtained by calling gd_error_string(3).


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.


The dirfile_validate(3) function appared in GetData-0.6.0.

In GetData-0.7.0, this function was renamed to gd_validate(3).

In GetData-0.10.0, the error return from this function changed from -1 to a negative-valued error code.


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

25 December 2016 Version 0.10.0