From: cristy Date: Tue, 4 Nov 2014 12:19:17 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~1794 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d8e3e4685a021bc56d58a495d7abb008681e3cd1;p=imagemagick --- diff --git a/coders/svg.c b/coders/svg.c index ccfd72ccd..450037776 100644 --- a/coders/svg.c +++ b/coders/svg.c @@ -2820,8 +2820,9 @@ static Image *ReadSVGImage(const ImageInfo *image_info,ExceptionInfo *exception) background[MaxTextExtent], command[MaxTextExtent], density[MaxTextExtent], - filename[MaxTextExtent], + input_filename[MaxTextExtent], opacity[MaxTextExtent], + output_filename[MaxTextExtent], unique[MaxTextExtent]; int @@ -2833,7 +2834,8 @@ static Image *ReadSVGImage(const ImageInfo *image_info,ExceptionInfo *exception) /* Our best hope for compliance to the SVG standard. */ - (void) AcquireUniqueFilename(filename); + status=AcquireUniqueSymbolicLink(image->filename,input_filename); + (void) AcquireUniqueFilename(output_filename); (void) AcquireUniqueFilename(unique); (void) FormatLocaleString(density,MaxTextExtent,"%.20g,%.20g", image->resolution.x,image->resolution.y); @@ -2844,12 +2846,13 @@ static Image *ReadSVGImage(const ImageInfo *image_info,ExceptionInfo *exception) 100.0*QuantumScale*image->background_color.blue); (void) FormatLocaleString(opacity,MaxTextExtent,"%.20g", QuantumScale*image->background_color.alpha); - (void) FormatLocaleString(command,MaxTextExtent, - GetDelegateCommands(delegate_info),image->filename,filename,density, - background,opacity,unique); + (void) FormatLocaleString(command,MaxTextExtent,GetDelegateCommands( + delegate_info),input_filename,output_filename,density,background, + opacity,unique); status=ExternalDelegateCommand(MagickFalse,image_info->verbose, command,(char *) NULL,exception); (void) RelinquishUniqueFileResource(unique); + (void) RelinquishUniqueFileResource(input_filename); if ((status == 0) && (stat(filename,&attributes) == 0) && (attributes.st_size != 0)) { @@ -2857,15 +2860,15 @@ static Image *ReadSVGImage(const ImageInfo *image_info,ExceptionInfo *exception) *read_info; read_info=CloneImageInfo(image_info); - (void) CopyMagickString(read_info->filename,filename, + (void) CopyMagickString(read_info->filename,output_filename, MaxTextExtent); image=ReadImage(read_info,exception); read_info=DestroyImageInfo(read_info); - (void) RelinquishUniqueFileResource(filename); + (void) RelinquishUniqueFileResource(output_filename); if (image != (Image *) NULL) return(image); } - (void) RelinquishUniqueFileResource(filename); + (void) RelinquishUniqueFileResource(output_filename); } { #if defined(MAGICKCORE_RSVG_DELEGATE)