Mercurial > octave-nkf
comparison libinterp/octave-value/ov-usr-fcn.cc @ 20533:19617a5b7202 stable
Fix regression in displayed error message for nargin and nargout.
* ov-usr-fcn.cc (nargin, nargout): After printing error message, use
'return retval' to immediately break out of the function.
author | Rik <rik@octave.org> |
---|---|
date | Tue, 22 Sep 2015 03:08:14 -0700 |
parents | 075a5e2e1ba5 |
children | 1f330d33388f |
comparison
equal
deleted
inserted
replaced
20531:1339ad3c9faa | 20533:19617a5b7202 |
---|---|
864 if (func.is_string ()) | 864 if (func.is_string ()) |
865 { | 865 { |
866 std::string name = func.string_value (); | 866 std::string name = func.string_value (); |
867 func = symbol_table::find_function (name); | 867 func = symbol_table::find_function (name); |
868 if (func.is_undefined ()) | 868 if (func.is_undefined ()) |
869 error ("nargout: invalid function name: %s", name.c_str ()); | 869 { |
870 error ("nargin: invalid function name: %s", name.c_str ()); | |
871 return retval; | |
872 } | |
870 } | 873 } |
871 | 874 |
872 octave_function *fcn_val = func.function_value (); | 875 octave_function *fcn_val = func.function_value (); |
873 if (fcn_val) | 876 if (fcn_val) |
874 { | 877 { |
971 if (func.is_string ()) | 974 if (func.is_string ()) |
972 { | 975 { |
973 std::string name = func.string_value (); | 976 std::string name = func.string_value (); |
974 func = symbol_table::find_function (name); | 977 func = symbol_table::find_function (name); |
975 if (func.is_undefined ()) | 978 if (func.is_undefined ()) |
976 error ("nargout: invalid function name: %s", name.c_str ()); | 979 { |
980 error ("nargout: invalid function name: %s", name.c_str ()); | |
981 return retval; | |
982 } | |
977 } | 983 } |
978 | 984 |
979 if (func.is_inline_function ()) | 985 if (func.is_inline_function ()) |
980 { | 986 { |
981 retval = 1; | 987 retval = 1; |