func: void tile_swap_delete(Tile *tile) tile_swap_command ( tile , SWAP_DELETE ); static void tile_swap_command(Tile *tile,gint command) if ( gimp_swap_file -> fd == - 1 )  if ( gimp_swap_file -> fd == - 1 )  switch ( command )  tile_swap_default_out ( gimp_swap_file , tile ); static void tile_swap_default_out(SwapFile *swap_file,Tile *tile) gint bytes ; gint nleft ; gint64 offset ; gint64 newpos ; bytes = 64 * 64 * ( tile -> bpp ); if ( tile -> swap_offset == ( - 1 ) )  newpos = tile_swap_find_offset ( swap_file , bytes ); static gint64 tile_swap_find_offset(SwapFile *swap_file,gint64 bytes) SwapFileGap * gap ; GList * tmp ; gint64 offset ; tmp = swap_file -> gaps; while ( tmp )  gap = ( tmp -> data ); if ( gap -> end - gap -> start >= bytes )  offset = gap -> start; return offset ; tmp = tmp -> next; offset = swap_file -> swap_file_end; return offset ; newpos = tile -> swap_offset; if ( swap_file -> cur_position != newpos )  offset = lseek ( swap_file -> fd , newpos , 0 ); if ( offset == ( - 1 ) )  swap_file -> cur_position = newpos; nleft = tile -> size; while ( nleft > 0 )  gint err = ( write ( swap_file -> fd , ( tile -> data + tile -> size - nleft ) , nleft ) ) ; if ( err <= 0 )  g_log ( "Gimp-Base" , G_LOG_LEVEL_MESSAGE , "unable to write tile data to disk: %s (%d/%d bytes written)" , g_strerror ( * __errno_location ( ) ) , err , nleft ); nleft -= err; 