From: dirk Date: Tue, 8 Nov 2016 20:39:09 +0000 (+0100) Subject: Fixed issue when cached kernel already exists. X-Git-Tag: 7.0.3-7~10 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b1c211487f6e69857fca7a2c5f1bcb52f00e9fe2;p=imagemagick Fixed issue when cached kernel already exists. --- diff --git a/MagickCore/opencl.c b/MagickCore/opencl.c index 77ff286a5..0cf2002f5 100644 --- a/MagickCore/opencl.c +++ b/MagickCore/opencl.c @@ -1273,14 +1273,24 @@ static void CacheOpenCLKernel(MagickCLDevice device,char *filename, { for (i = 0; i < num_devices; i++) { + int + file; + size_t program_size; program_size=*(program_sizes+i); if (program_size < 1) continue; - (void) BlobToFile(filename,binary_program[i],program_size, - exception); + file=open_utf8(filename,O_WRONLY | O_CREAT | O_BINARY,S_MODE); + if (file != -1) + { + write(file,binary_program[i],program_size); + file=close(file); + } + else + (void) ThrowMagickException(exception,GetMagickModule(), + DelegateWarning,"Saving kernel failed.","`%s'",filename); break; } }