Provided by: libgetdata-doc_0.11.0-4_all bug


       gd_metaflush — write modified Dirfile metadata to disk


       #include <getdata.h>

       int gd_metaflush(DIRFILE *dirfile);


       The  gd_metaflush() function flushes all pending metadata changes in the dirfile specified
       by dirfile to disk.  This is accomplished by re-writing the format specification fragments
       containing modified metadata, overwriting the existing files.  Format file fragments which
       are unchanged are not touched.

       Metadata is written to disk using the current Standards Version as stored in  the  dirfile
       object.   See  gd_dirfile_standards(3)  to change or report the current Standards Version.
       If the dirfile metadata conforms to no known Standards Version, a Standards  non-compliant
       fragment will be written.

       This  function  flushes  only  metadata.  To flush the field data as well, call gd_sync(3)


       On success, zero is returned.   On  error,  a  negative-valued  error  code  is  returned.
       Possible error codes are:

               The supplied dirfile was opened in read-only mode.

               The library was unable to allocate memory.

               The supplied dirfile was invalid.

       GD_E_IO An I/O error occurred while trying to write modified metadata to disk.

               While  attempting  to  flush modified metadata to disk, a field specification line
               exceeded the maximum allowed length.  On most platforms, the maximum length is  at
               least 2**31 bytes, so this typically indicates something pathological happening.

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


       When  writing  metadata  using  Standards  Version  4  or earlier, the reference field may
       change, owing to the lack of a /REFERENCE directive.   A  work-around  is  to  upgrade  to
       Standards Version 5 or later.


       The dirfile_metaflush() function appeared in GetData-0.4.0.

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

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


       gd_close(3),   gd_dirfile_standards(3),   gd_error(3),   gd_error_string(3),   gd_open(3),
       gd_rewrite_fragment(3), gd_sync(3)