Mercurial > hg > octave-nkf
diff libinterp/corefcn/gl2ps-renderer.cc @ 19910:5cfb3ccbf24a
style fixes for resource management
* __osmesa_print__.cc (close_fcn): New function.
(F__osmesa_print__): Manage FILE pointer with unwind_protect.
Allocate local buffer with OCTAVE_LOCAL_BUFFER.
* gl2ps-renderer.cc (gl2ps_print): Check for valid FILE pointer from
octave_popen.
* oct-parse.in.yy (parse_fcn_file): Check for valid FILE pointer from
fopen.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 13 Feb 2015 16:46:21 -0500 |
parents | 4197fc428c7d |
children | d575cd1e0da7 |
line wrap: on
line diff
--- a/libinterp/corefcn/gl2ps-renderer.cc +++ b/libinterp/corefcn/gl2ps-renderer.cc @@ -300,15 +300,20 @@ { #ifdef HAVE_GL2PS_H - unwind_protect frame; - FILE *fp = octave_popen (cmd.c_str (), "w"); - frame.add_fcn (safe_pclose, fp); + if (fp) + { + unwind_protect frame; + + frame.add_fcn (safe_pclose, fp); - glps_renderer rend (fp, term); + glps_renderer rend (fp, term); - rend.draw (fig, cmd); + rend.draw (fig, cmd); + } + else + error ("print: failed to open pipe for gl2ps renderer"); #else