cache_info->filename);
return(MagickFalse);
}
- if (OpenPixelCacheOnDisk(cache_info,IOMode) == MagickFalse)
+ if (OpenPixelCacheOnDisk(cache_info,ReadMode) == MagickFalse)
{
blob=(unsigned char *) RelinquishMagickMemory(blob);
ThrowFileException(exception,FileOpenError,"UnableToOpenFile",
cache_info->cache_filename);
return(MagickFalse);
}
- if (OpenPixelCacheOnDisk(clone_info,IOMode) == MagickFalse)
+ if (OpenPixelCacheOnDisk(clone_info,WriteMode) == MagickFalse)
{
(void) ClosePixelCacheOnDisk(cache_info);
blob=(unsigned char *) RelinquishMagickMemory(blob);
}
if (clone_info->type == DiskCache)
{
- if (OpenPixelCacheOnDisk(clone_info,IOMode) == MagickFalse)
+ if ((cache_info->type == DiskCache) &&
+ (strcmp(cache_info->cache_filename,clone_info->cache_filename) == 0))
+ {
+ (void) ClosePixelCacheOnDisk(clone_info);
+ *clone_info->cache_filename='\0';
+ }
+ if (OpenPixelCacheOnDisk(clone_info,WriteMode) == MagickFalse)
{
if (cache_info->type == DiskCache)
(void) ClosePixelCacheOnDisk(cache_info);
"CacheResourcesExhausted","`%s'",image->filename);
return(MagickFalse);
}
- if (cache_info->type == DiskCache)
- {
- (void) ClosePixelCacheOnDisk(cache_info);
- *cache_info->cache_filename='\0';
- status=DiskToDiskPixelCacheClone(cache_info,&source_info,exception);
- }
if (OpenPixelCacheOnDisk(cache_info,mode) == MagickFalse)
{
RelinquishMagickResource(DiskResource,cache_info->length);