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

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  representa‐
       tion 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_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.

       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)

Version 0.8.0                                    19 August 2011                                   gd_validate(3)