gd_linterp_tablename(3) retrieve the pathname of a look-up table in a dirfile


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


The gd_linterp_tablename() function retrieves the pathname of the look-up table (LUT) used by the LINTERP field specified by field_code in the dirfile specified by dirfile. If field_code contains a valid representation suffix, it will be ignored.

Note: this function returns a fully canonicalised, absolute path. The value of the table member in a gd_entry_t object (see gd_entry(3)) is the path which appears in the format specification on disk, which may be a path relative to the fragment directory.


On success, gd_linterp_tablename() returns the full pathname of the LUT associated with the specified field in a buffer allocated by malloc(3). Once no longer needed, the returned pointer should be passed to free(3) to deallocate the associated memory. On error, NULL is returned and the dirfile error is set 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.
The supplied dirfile was invalid.
The field specified by field_code was not a LINTERP field.

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