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


       gd_rewrite_fragment — re-write a Dirfile format specification fragment


       #include <getdata.h>

       int gd_rewrite_fragment(DIRFILE *dirfile, int fragment);


       The  gd_rewrite_fragment()  writes the format specification fragment specified by fragment
       to disk, regardless of whether it has changed or not, overwriting the existing file.

       In addition to being simply a valid fragment index, fragment may also be the special value
       GD_ALL_FRAGMENTS, which indicates that all fragments should be rewritten.

       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.


       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.

               The supplied fragment index was out of range.

       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 gd_rewrite_fragment() function appeared in GetData-0.7.0.

       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_flush(3),
       gd_metaflush(3), gd_open(3)