diff libinterp/dldfcn/__osmesa_print__.cc @ 20939:b17fda023ca6

maint: Use new C++ archetype in more files. Place input validation first in files. Move declaration of retval down in function to be closer to point of usage. Eliminate else clause after if () error. Use "return ovl()" where it makes sense. * find.cc, gammainc.cc, gcd.cc, getgrent.cc, getpwent.cc, givens.cc, graphics.cc, help.cc, hess.cc, hex2num.cc, input.cc, kron.cc, load-path.cc, load-save.cc, lookup.cc, mappers.cc, matrix_type.cc, mgorth.cc, nproc.cc, ordschur.cc, pager.cc, pinv.cc, pr-output.cc, profiler.cc, psi.cc, quad.cc, rcond.cc, regexp.cc, schur.cc, sighandlers.cc, sparse.cc, str2double.cc, strfind.cc, strfns.cc, sub2ind.cc, svd.cc, sylvester.cc, symtab.cc, syscalls.cc, sysdep.cc, time.cc, toplev.cc, tril.cc, tsearch.cc, typecast.cc, urlwrite.cc, utils.cc, variables.cc, __delaunayn__.cc, __eigs__.cc, __glpk__.cc, __magick_read__.cc, __osmesa_print__.cc, __voronoi__.cc, amd.cc, audiodevinfo.cc, audioread.cc, chol.cc, colamd.cc, dmperm.cc, fftw.cc, qr.cc, symbfact.cc, symrcm.cc, ov-bool-mat.cc, ov-cell.cc, ov-class.cc, ov-classdef.cc, ov-fcn-handle.cc, ov-fcn-inline.cc, ov-flt-re-mat.cc, ov-java.cc, ov-null-mat.cc, ov-oncleanup.cc, ov-re-mat.cc, ov-struct.cc, ov-typeinfo.cc, ov-usr-fcn.cc, ov.cc, octave.cc: Use new C++ archetype in more files.
author Rik <rik@octave.org>
date Fri, 18 Dec 2015 15:37:22 -0800
parents 1142cf6abc0d
children 83ce7b8fb91c
line wrap: on
line diff
--- a/libinterp/dldfcn/__osmesa_print__.cc	Fri Dec 18 16:22:53 2015 -0500
+++ b/libinterp/dldfcn/__osmesa_print__.cc	Fri Dec 18 15:37:22 2015 -0800
@@ -87,12 +87,9 @@
 \n\
 @end deftypefn")
 {
-  octave_value_list retval;
-
 #if ! defined (HAVE_OSMESA)
   gripe_disabled_feature ("__osmesa_print__", "offscreen rendering");
 #else
-
   int nargin = args.length ();
 
   if (nargin != 1 && nargin != 3)
@@ -108,6 +105,8 @@
 #endif
     }
 
+  octave_value_list retval;
+
   int h = args(0).double_value ();
   graphics_object fobj = gh_manager::get_object (h);
   if (! (fobj && fobj.isa ("figure")))
@@ -184,20 +183,18 @@
           // write gl2ps output directly to file
           FILE *filep = gnulib::fopen (file.substr (pos_c).c_str (), "w");
 
-          if (filep)
-            {
-              unwind_protect frame;
+          if (! filep)
+            error ("__osmesa_print__: Couldn't create file \"%s\"", file.c_str ());
 
-              frame.add_fcn (close_fcn, filep);
+          unwind_protect frame;
 
-              glps_renderer rend (filep, term);
-              rend.draw (fobj, "");
+          frame.add_fcn (close_fcn, filep);
 
-              // Make sure buffered commands are finished!!!
-              glFinish ();
-            }
-          else
-            error ("__osmesa_print__: Couldn't create file \"%s\"", file.c_str ());
+          glps_renderer rend (filep, term);
+          rend.draw (fobj, "");
+
+          // Make sure buffered commands are finished!!!
+          glFinish ();
         }
 #endif
     }
@@ -237,8 +234,8 @@
 
   OSMesaDestroyContext (ctx);
 
+  return retval;
 #endif
-  return retval;
 }
 
 /*