Mercurial > hg > octave-nkf
diff examples/code/funcdemo.cc @ 20753:2f8500ca91d3
eliminate error_state from example files
* addtwomatrices.cc, celldemo.cc, embedded.cc, fortrandemo.cc,
funcdemo.cc, globaldemo.cc, helloworld.cc, make_int.cc, paramdemo.cc,
stringdemo.cc, structdemo.cc, unwinddemo.cc:
Eliminate use of global error_state variable.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Sat, 03 Oct 2015 16:05:27 -0400 |
parents | c8240a60dd01 |
children |
line wrap: on
line diff
--- a/examples/code/funcdemo.cc +++ b/examples/code/funcdemo.cc @@ -4,29 +4,31 @@ DEFUN_DLD (funcdemo, args, nargout, "Function Demo") { octave_value_list retval; + int nargin = args.length (); if (nargin < 2) print_usage (); - else + + octave_value_list newargs; + + for (octave_idx_type i = nargin - 1; i > 0; i--) + newargs(i-1) = args(i); + + if (args(0).is_function_handle () || args(0).is_inline_function ()) { - octave_value_list newargs; - for (octave_idx_type i = nargin - 1; i > 0; i--) - newargs(i-1) = args(i); - if (args(0).is_function_handle () || args(0).is_inline_function ()) - { - octave_function *fcn = args(0).function_value (); - if (! error_state) - retval = feval (fcn, newargs, nargout); - } - else if (args(0).is_string ()) - { - std::string fcn = args(0).string_value (); - if (! error_state) - retval = feval (fcn, newargs, nargout); - } - else - error ("funcdemo: INPUT must be string, inline, or function handle"); + octave_function *fcn = args(0).function_value (); + + retval = feval (fcn, newargs, nargout); } + else if (args(0).is_string ()) + { + std::string fcn = args(0).string_value (); + + retval = feval (fcn, newargs, nargout); + } + else + error ("funcdemo: INPUT must be string, inline, or function handle"); + return retval; }