Provided by: libtiff-dev_4.5.0-5ubuntu1_amd64 bug

NAME

       TIFFWriteDirectory - write the current directory in an open TIFF file

SYNOPSIS

          #include <tiffio.h>

       int TIFFWriteDirectory(TIFF *tif)

       int TIFFRewriteDirectory(TIFF *tif)

       int TIFFCheckpointDirectory(TIFF *tif)

       void TIFFSetWriteOffset(TIFF *tif, toff_t off)

       int TIFFWriteCheck(TIFF *tif, int tiles, const char *module)

DESCRIPTION

       TIFFWriteDirectory()  will  write  the  contents  of the current directory to the file and
       setup to create  a  new  subfile  in  the  same  file.  Applications  only  need  to  call
       TIFFWriteDirectory()   when   writing   multiple   subfiles   to   a   single  TIFF  file.
       TIFFWriteDirectory() is automatically called by TIFFClose() and  TIFFFlush()  to  write  a
       modified directory if the file is open for writing.

       The TIFFRewriteDirectory() function operates similarly to TIFFWriteDirectory(), but can be
       called with directories previously read  or  written  that  already  have  an  established
       location in the file.  It will rewrite the directory, but instead of placing it at its old
       location (as TIFFWriteDirectory() would) it will place  them  at  the  end  of  the  file,
       correcting  the  pointer  from the preceding directory or file header to point to it's new
       location.  This is particularly important in cases where the size  of  the  directory  and
       pointed to data has grown, so it won't fit in the space available at the old location.

       The TIFFCheckpointDirectory() writes the current state of the tiff directory into the file
       to  make  what  is  currently  in  the  file   readable.    Unlike   TIFFWriteDirectory(),
       TIFFCheckpointDirectory()  does  not  free  up the directory data structures in memory, so
       they can be updated (as strips/tiles are written)  and  written  again.   Reading  such  a
       partial  file you will at worst get a tiff read error for the first strip/tile encountered
       that is incomplete, but you will at least get all the valid data in the file before  that.
       When  the  file  is  complete,  just  use  TIFFWriteDirectory()  as usual to finish it off
       cleanly.

       The TIFFSetWriteOffset() sets the current write offset.  This should only be used  to  set
       the  offset  to a known previous location (very carefully), or to 0 so that the next write
       gets appended to the end of the file.

       The TIFFWriteCheck()  verify file is writable and that the directory information is  setup
       properly.   In  doing  the  latter  we  also  "freeze"  the state of the directory so that
       important information is not changed.

RETURN VALUES

       1 is returned when the contents are successfully written to the  file.   Otherwise,  0  is
       returned if an error was encountered when writing the directory contents.

DIAGNOSTICS

       All error messages are directed to the TIFFErrorExtR() routine.

       "Error post-encoding before directory write":
          Before  writing  the  contents  of the current directory, any pending data are flushed.
          This message indicates that an error occurred while doing this.

       "Error flushing data before directory write":
          Before writing the contents of the current directory, any  pending  data  are  flushed.
          This message indicates that an error occurred while doing this.

       "Cannot write directory, out of space":
          There  was  not enough space to allocate a temporary area for the directory that was to
          be written.

       "Error writing directory count":
          A write error occurred when writing the count of fields in the directory.

       "Error writing directory contents":
          A write error occurred when writing the directory fields.

       "Error writing directory link":
          A write error occurred when writing the link to the next directory.

       Error writing data for field "%s":
          A write error occurred when writing indirect data for the specified field.

       "Error writing TIFF header":
          A write error occurred when re-writing header at the front of the file.

       "Error fetching directory count":
          A read error occurred when fetching the directory count field for a previous directory.
          This can occur when setting up a link to the directory that is being written.

       "Error fetching directory link":
          A  read error occurred when fetching the directory link field for a previous directory.
          This can occur when setting up a link to the directory that is being written.

SEE ALSO

       TIFFquery (3tiff),  TIFFOpen  (3tiff),  TIFFCreateDirectory  (3tiff),  TIFFCustomDirectory
       (3tiff),  TIFFSetDirectory  (3tiff), TIFFReadDirectory (3tiff), TIFFError (3tiff), libtiff
       (3tiff)

AUTHOR

       LibTIFF contributors

COPYRIGHT

       1988-2023, LibTIFF contributors