]>
git.saurik.com Git - wxWidgets.git/blob - src/tiff/tif_flush.c
   4  * Copyright (c) 1988-1997 Sam Leffler 
   5  * Copyright (c) 1991-1997 Silicon Graphics, Inc. 
   7  * Permission to use, copy, modify, distribute, and sell this software and  
   8  * its documentation for any purpose is hereby granted without fee, provided 
   9  * that (i) the above copyright notices and this permission notice appear in 
  10  * all copies of the software and related documentation, and (ii) the names of 
  11  * Sam Leffler and Silicon Graphics may not be used in any advertising or 
  12  * publicity relating to the software without the specific, prior written 
  13  * permission of Sam Leffler and Silicon Graphics. 
  15  * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,  
  16  * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY  
  17  * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.   
  19  * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR 
  20  * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, 
  21  * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 
  22  * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF  
  23  * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE  
  36         if (tif
->tif_mode 
!= O_RDONLY
) { 
  37                 if (!TIFFFlushData(tif
)) 
  39                 if ((tif
->tif_flags 
& TIFF_DIRTYDIRECT
) && 
  40                     !TIFFWriteDirectory(tif
)) 
  47  * Flush buffered data to the file. 
  49  * Frank Warmerdam'2000: I modified this to return 1 if TIFF_BEENWRITING 
  50  * is not set, so that TIFFFlush() will proceed to write out the directory. 
  51  * The documentation says returning 1 is an error indicator, but not having 
  52  * been writing isn't exactly a an error.  Hopefully this doesn't cause 
  53  * problems for other people.  
  56 TIFFFlushData(TIFF
* tif
) 
  58         if ((tif
->tif_flags 
& TIFF_BEENWRITING
) == 0) 
  60         if (tif
->tif_flags 
& TIFF_POSTENCODE
) { 
  61                 tif
->tif_flags 
&= ~TIFF_POSTENCODE
; 
  62                 if (!(*tif
->tif_postencode
)(tif
)) 
  65         return (TIFFFlushData1(tif
));