From 69206af2a3a56387f993826c56850885a7fe3fc3 Mon Sep 17 00:00:00 2001 From: AzureFx Date: Thu, 6 Dec 2018 21:42:16 +0800 Subject: [PATCH] Fix https://github.com/JuliaIO/ImageMagick.jl/issues/145 --- src/libmagickwand.jl | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/libmagickwand.jl b/src/libmagickwand.jl index 0ede62c..765ef70 100644 --- a/src/libmagickwand.jl +++ b/src/libmagickwand.jl @@ -292,7 +292,9 @@ function readimage(wand::MagickWand, filename::AbstractString) end function readimage(wand::MagickWand, stream::IO) - status = ccall((:MagickReadImageFile, libwand), Cint, (Ptr{Cvoid}, Ptr{Cvoid}), wand, Libc.FILE(stream).ptr) + file = Libc.FILE(stream) + status = ccall((:MagickReadImageFile, libwand), Cint, (Ptr{Cvoid}, Ptr{Cvoid}), wand, file.ptr) + close(file) status == 0 && error(wand) nothing end @@ -313,7 +315,9 @@ function writeimage(wand::MagickWand, filename::AbstractString) end function writeimage(wand::MagickWand, stream::IO) - status = ccall((:MagickWriteImagesFile, libwand), Cint, (Ptr{Cvoid}, Ptr{Cvoid}), wand, Libc.FILE(stream).ptr) + file = Libc.FILE(stream) + status = ccall((:MagickWriteImagesFile, libwand), Cint, (Ptr{Cvoid}, Ptr{Cvoid}), wand, file.ptr) + close(file) status == 0 && error(wand) nothing end