MagickBooleanType
exempt,
+ immutable,
synchronize,
status,
temporary;
blob_info->file_info.file=(FILE *) NULL;
blob_info->data=(unsigned char *) blob;
blob_info->mapped=MagickFalse;
+ blob_info->immutable=MagickTrue;
}
\f
/*
clone_info->offset=blob_info->offset;
clone_info->size=blob_info->size;
clone_info->exempt=blob_info->exempt;
+ clone_info->immutable=blob_info->immutable;
clone_info->status=blob_info->status;
clone_info->temporary=blob_info->temporary;
clone_info->type=blob_info->type;
blob_info->offset=0;
blob_info->eof=MagickFalse;
blob_info->exempt=MagickFalse;
+ blob_info->immutable=MagickFalse;
blob_info->type=UndefinedStream;
blob_info->file_info.file=(FILE *) NULL;
data=blob_info->data;
return(-1);
case FileStream:
{
- if ((whence == SEEK_SET) && (offset < 0))
- return(-1);
if (fseek(image->blob->file_info.file,offset,whence) < 0)
return(-1);
image->blob->offset=TellBlob(image);
image->blob->eof=MagickFalse;
break;
}
- if (image->blob->mapped != MagickFalse)
- return(-1);
if (image->blob->offset < (MagickOffsetType)
((off_t) image->blob->extent))
break;
+ if (image->blob->immutable != MagickFalse)
+ {
+ image->blob->eof=MagickTrue;
+ return(-1);
+ }
image->blob->extent=(size_t) (image->blob->offset+image->blob->quantum);
image->blob->quantum<<=1;
image->blob->data=(unsigned char *) ResizeQuantumMemory(image->blob->data,