clone_offset,
count;
- Quantum
- sans;
-
register ssize_t
x;
}
cache_offset=cache_info->offset;
}
-if (0)
if ((cache_info->type != MemoryCache) && (clone_info->type != MemoryCache) &&
(strcmp(cache_info->cache_filename,clone_info->cache_filename) == 0))
{
/*
Clone pixel channels.
*/
- sans=0;
status=MagickTrue;
for (y=0; y < (ssize_t) cache_info->rows; y++)
{
traits=cache_info->channel_map[channel].traits;
if (traits == UndefinedPixelTrait)
{
- if (clone_info->type != DiskCache)
- (void) memcpy((unsigned char *) clone_info->pixels+clone_offset,
- (unsigned char *) &sans,sizeof(Quantum));
- else
- {
- count=WritePixelCacheRegion(clone_info,clone_offset,
- sizeof(Quantum),(unsigned char *) &sans);
- if ((MagickSizeType) count != sizeof(Quantum))
- {
- status=MagickFalse;
- break;
- }
- }
+ clone_offset+=sizeof(Quantum);
+ continue;
}
+ offset=cache_info->channel_map[channel].offset;
+ if (clone_info->type != DiskCache)
+ (void) memcpy((unsigned char *) clone_info->pixels+clone_offset,
+ blob+offset*sizeof(Quantum),sizeof(Quantum));
else
{
- offset=cache_info->channel_map[channel].offset;
- if (clone_info->type != DiskCache)
- (void) memcpy((unsigned char *) clone_info->pixels+clone_offset,
- blob+offset*sizeof(Quantum),sizeof(Quantum));
- else
+ count=WritePixelCacheRegion(clone_info,clone_offset,
+ sizeof(Quantum),blob+offset*sizeof(Quantum));
+ if ((MagickSizeType) count != sizeof(Quantum))
{
- count=WritePixelCacheRegion(clone_info,clone_offset,
- sizeof(Quantum),blob+offset*sizeof(Quantum));
- if ((MagickSizeType) count != sizeof(Quantum))
- {
- status=MagickFalse;
- break;
- }
+ status=MagickFalse;
+ break;
}
}
clone_offset+=sizeof(Quantum);
if (cache_info->metacontent_extent != 0)
cache_info->metacontent=(void *) (cache_info->pixels+
number_pixels*cache_info->number_channels);
- if (source_info.type != UndefinedCache)
+ if (source_info.storage_class != UndefinedClass)
{
status=ClonePixelCachePixels(cache_info,&source_info,
exception);
"CacheResourcesExhausted","`%s'",image->filename);
return(MagickFalse);
}
- if (source_info.type != UndefinedCache)
- {
- (void) ClosePixelCacheOnDisk(cache_info);
- *cache_info->cache_filename='\0';
- }
if (OpenPixelCacheOnDisk(cache_info,mode) == MagickFalse)
{
RelinquishMagickResource(DiskResource,cache_info->length);
if (cache_info->metacontent_extent != 0)
cache_info->metacontent=(void *) (cache_info->pixels+
number_pixels*cache_info->number_channels);
- if (source_info.type != UndefinedCache)
+ if (source_info.storage_class != UndefinedClass)
{
status=ClonePixelCachePixels(cache_info,&source_info,
exception);
RelinquishMagickResource(MapResource,cache_info->length);
}
status=MagickTrue;
- if (source_info.type != UndefinedCache)
+ if ((source_info.type != UndefinedCache) && (mode != ReadMode))
{
status=ClonePixelCachePixels(cache_info,&source_info,exception);
RelinquishPixelCachePixels(&source_info);