#include "MagickCore/memory_.h"
#include "MagickCore/memory-private.h"
#include "MagickCore/nt-base-private.h"
+#include "MagickCore/option.h"
#include "MagickCore/pixel.h"
#include "MagickCore/pixel-accessor.h"
#include "MagickCore/policy.h"
/*
Clone pixel cache (both caches on disk).
*/
- if (cache_info->debug != MagickFalse)
- (void) LogMagickEvent(CacheEvent,GetMagickModule(),"disk => disk");
blob=(unsigned char *) AcquireQuantumMemory(MagickMaxBufferExtent,
sizeof(*blob));
if (blob == (unsigned char *) NULL)
/*
Clone pixel cache (both caches in memory).
*/
- if (cache_info->debug != MagickFalse)
- (void) LogMagickEvent(CacheEvent,GetMagickModule(),"memory => memory");
(void) memcpy(clone_info->pixels,cache_info->pixels,(size_t)
cache_info->length);
return(MagickTrue);
/*
Clone pixel cache (one cache on disk, one in memory).
*/
- if (cache_info->debug != MagickFalse)
- (void) LogMagickEvent(CacheEvent,GetMagickModule(),"disk => memory");
if (OpenPixelCacheOnDisk(cache_info,ReadMode) == MagickFalse)
{
ThrowFileException(exception,FileOpenError,"UnableToOpenFile",
/*
Clone pixel cache (one cache on disk, one in memory).
*/
- if (clone_info->debug != MagickFalse)
- (void) LogMagickEvent(CacheEvent,GetMagickModule(),"memory => disk");
if (OpenPixelCacheOnDisk(clone_info,WriteMode) == MagickFalse)
{
ThrowFileException(exception,FileOpenError,"UnableToOpenFile",
/*
Clone pixel cache (unoptimized).
*/
- if (cache_info->debug != MagickFalse)
- {
- if ((cache_info->type != DiskCache) && (clone_info->type != DiskCache))
- (void) LogMagickEvent(CacheEvent,GetMagickModule(),"memory => memory");
- else
- if ((clone_info->type != DiskCache) && (cache_info->type == DiskCache))
- (void) LogMagickEvent(CacheEvent,GetMagickModule(),"disk => memory");
- else
- if ((clone_info->type == DiskCache) && (cache_info->type != DiskCache))
- (void) LogMagickEvent(CacheEvent,GetMagickModule(),"memory => disk");
- else
- (void) LogMagickEvent(CacheEvent,GetMagickModule(),"disk => disk");
- }
length=(size_t) MagickMax(MagickMax(cache_info->number_channels,
clone_info->number_channels)*sizeof(Quantum),MagickMax(
cache_info->metacontent_extent,clone_info->metacontent_extent));
continue;
}
offset=cache_info->channel_map[channel].offset;
- if (clone_info->type != DiskCache)
+ if ((clone_info->type != DiskCache) &&
+ (clone_info->type != DistributedCache))
(void) memcpy((unsigned char *) clone_info->pixels+clone_offset,p+
offset*sizeof(Quantum),sizeof(Quantum));
else
(void) ResetMagickMemory(blob,0,length*sizeof(*blob));
for ( ; x < (ssize_t) clone_info->columns; x++)
{
- if (clone_info->type != DiskCache)
+ if ((clone_info->type != DiskCache) &&
+ (clone_info->type != DistributedCache))
(void) memcpy((unsigned char *) clone_info->pixels+clone_offset,
blob,length);
else
Write a set of metacontent.
*/
length=clone_info->metacontent_extent;
- if (clone_info->type != DiskCache)
+ if ((clone_info->type != DiskCache) &&
+ (clone_info->type != DistributedCache))
(void) memcpy((unsigned char *) clone_info->pixels+clone_offset,
p,length);
else
/*
Set remaining columns as undefined.
*/
- if (clone_info->type != DiskCache)
+ if ((clone_info->type != DiskCache) &&
+ (clone_info->type != DistributedCache))
(void) memcpy((unsigned char *) clone_info->pixels+clone_offset,
blob,length);
else
{
for (x=0; x < (ssize_t) clone_info->columns; x++)
{
- if (clone_info->type != DiskCache)
+ if ((clone_info->type != DiskCache) &&
+ (clone_info->type != DistributedCache))
(void) memcpy((unsigned char *) clone_info->pixels+clone_offset,
blob,length);
else
*p,
*q;
+ if (cache_info->debug != MagickFalse)
+ {
+ char
+ message[MaxTextExtent];
+
+ (void) FormatLocaleString(message,MaxTextExtent,"%s => %s",
+ CommandOptionToMnemonic(MagickCacheOptions,(ssize_t) cache_info->type),
+ CommandOptionToMnemonic(MagickCacheOptions,(ssize_t) clone_info->type));
+ (void) LogMagickEvent(CacheEvent,GetMagickModule(),message);
+ }
if (cache_info->type == PingCache)
return(MagickTrue);
if (cache_info->type == DistributedCache)
{ "1", MagickTrue, UndefinedOptionFlag, MagickFalse },
{ (char *) NULL, MagickFalse, UndefinedOptionFlag, MagickFalse }
},
+ CacheOptions[] =
+ {
+ { "Disk", DiskCache, UndefinedOptionFlag, MagickFalse },
+ { "Distributed", DistributedCache, UndefinedOptionFlag, MagickFalse },
+ { "Map", MapCache, UndefinedOptionFlag, MagickFalse },
+ { "Memory", MemoryCache, UndefinedOptionFlag, MagickFalse },
+ { "Ping", PingCache, UndefinedOptionFlag, MagickFalse },
+ { (char *) NULL, MagickFalse, UndefinedOptionFlag, MagickFalse }
+ },
ChannelOptions[] =
{
{ "Undefined", UndefinedChannel, UndefinedOptionFlag, MagickTrue },
{ "Align", MagickAlignOptions, UndefinedOptionFlag, MagickFalse },
{ "Alpha", MagickAlphaChannelOptions, UndefinedOptionFlag, MagickFalse },
{ "Boolean", MagickBooleanOptions, UndefinedOptionFlag, MagickFalse },
+ { "Cache", MagickCacheOptions, UndefinedOptionFlag, MagickFalse },
{ "Channel", MagickChannelOptions, UndefinedOptionFlag, MagickFalse },
{ "Class", MagickClassOptions, UndefinedOptionFlag, MagickFalse },
{ "ClipPath", MagickClipPathOptions, UndefinedOptionFlag, MagickFalse },
case MagickAlignOptions: return(AlignOptions);
case MagickAlphaChannelOptions: return(AlphaChannelOptions);
case MagickBooleanOptions: return(BooleanOptions);
+ case MagickCacheOptions: return(CacheOptions);
case MagickChannelOptions: return(ChannelOptions);
case MagickClassOptions: return(ClassOptions);
case MagickClipPathOptions: return(ClipPathOptions);