NAME

dirfile_flush --- write all pending dirfile changes to disk.

SYNOPSIS

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

DESCRIPTION

The dirfile_flush() function flushes and closes all file handles associated with field_code, or its input(s), in the dirfile specified by dirfile. If the field_code contains a valid representation suffix, it will be ignored. As a special case, if field_code is NULL, all fields in dirfile will be flushed and closed. In this special case, modified metadata will also be flushed to disk as if dirfile_metaflush(3) had been called.

RETURN VALUE

On success, zero is returned. On error, -1 is returned and the dirfile error is set to a non-zero error value. Possible error values are:
GD_E_BAD_CODE
The field specified by field_code 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_RAW_IO
An error occurred while trying to flush or close the field(s). The dirfile error may be retrieved by calling get_error(3). A descriptive error string for the last error encountered can be obtained from a call to get_error_string(3).

SEE ALSO

dirfile_open(3), dirfile_close(3), dirfile_metaflush(3), get_error(3), get_error_string(3)