Mercurial > octave
changeset 30295:1830a8f85476
print: Avoid using pipes or redirecting stdout (bug #58702).
* scripts/plot/util/private/__opengl_print__.m: Avoid using pipes or redirecting
stdout when printing to .emf files. Use temporary files instead.
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Fri, 12 Nov 2021 15:24:01 +0100 |
parents | 488548c762de |
children | d6415c931759 |
files | scripts/plot/util/private/__opengl_print__.m |
diffstat | 1 files changed, 8 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/scripts/plot/util/private/__opengl_print__.m Mon Nov 15 17:41:07 2021 +0900 +++ b/scripts/plot/util/private/__opengl_print__.m Fri Nov 12 15:24:01 2021 +0100 @@ -116,7 +116,13 @@ opts.unlink = [opts.unlink tmp]; cmd_pstoedit = sprintf (opts.pstoedit_cmd (opts, "fig"), ... "pdf", tmp, tmp); - cmd = sprintf ('%s | %s > "%s"', cmd_pstoedit, cmd_fig2dev, opts.name); + tmp = [tempname(), ".fig"]; + opts.unlink = [opts.unlink tmp]; + if (ispc () && ! isunix ()) + cmd = sprintf ('%s "%s" & %s "%s" "%s"', cmd_pstoedit, tmp, cmd_fig2dev, tmp, opts.name); + else + cmd = sprintf ('%s "%s" ; %s "%s" "%s"', cmd_pstoedit, tmp, cmd_fig2dev, tmp, opts.name); + endif gl2ps_device = {"svg"}; pipeline = {cmd}; endif @@ -131,7 +137,7 @@ opts.unlink = [opts.unlink tmp]; cmd = sprintf (opts.pstoedit_cmd (opts), "pdf", tmp, tmp); gl2ps_device = {"svg"}; - pipeline = {sprintf('%s > "%s"', cmd, opts.name)}; + pipeline = {sprintf('%s "%s"', cmd, opts.name)}; case opts.ghostscript.device svgcmd = ""; if (opts.svgconvert)