Mercurial > octave
changeset 20828:7883f240d8ea
Clear error/warning ID when lasterror/lastwarning called with just a message.
* error.cc (Flasterror, Flastwarning): If nargin == 1 then clear
Vlast_error_id. Remove retval declaration and use 'return ovl()' to return
multiple output values.
author | Rik <rik@octave.org> |
---|---|
date | Tue, 08 Dec 2015 09:55:51 -0800 |
parents | b3f985199f3f |
children | 543eca132fa0 |
files | libinterp/corefcn/error.cc |
diffstat | 1 files changed, 24 insertions(+), 23 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/corefcn/error.cc Tue Dec 08 16:22:54 2015 -0500 +++ b/libinterp/corefcn/error.cc Tue Dec 08 09:55:51 2015 -0800 @@ -1975,25 +1975,26 @@ if (nargin > 2) print_usage (); - octave_value_list retval; string_vector argv = args.make_argv ("lasterr"); std::string prev_error_id = Vlast_error_id; std::string prev_error_message = Vlast_error_message; if (nargin == 2) - Vlast_error_id = argv(2); - - if (nargin > 0) - Vlast_error_message = argv(1); + { + Vlast_error_id = argv(2); + Vlast_error_message = argv(1); + } + else if (nargin == 1) + { + Vlast_error_id = ""; + Vlast_error_message = argv(1); + } if (nargin == 0 || nargout > 0) - { - retval(1) = prev_error_id; - retval(0) = prev_error_message; - } - - return retval; + return ovl (prev_error_message, prev_error_id); + else + return octave_value_list (); } DEFUN (lastwarn, args, nargout, @@ -2012,31 +2013,31 @@ @seealso{warning, lasterror, lasterr}\n\ @end deftypefn") { - int nargin = args.length (); if (nargin > 2) print_usage (); - octave_value_list retval; string_vector argv = args.make_argv ("lastwarn"); std::string prev_warning_id = Vlast_warning_id; std::string prev_warning_message = Vlast_warning_message; if (nargin == 2) - Vlast_warning_id = argv(2); - - if (nargin > 0) - Vlast_warning_message = argv(1); + { + Vlast_warning_id = argv(2); + Vlast_warning_message = argv(1); + } + else if (nargin == 1) + { + Vlast_warning_id = ""; + Vlast_warning_message = argv(1); + } if (nargin == 0 || nargout > 0) - { - retval(1) = prev_warning_id; - retval(0) = prev_warning_message; - } - - return retval; + return ovl (prev_warning_message, prev_warning_id); + else + return octave_value_list (); } /* FIXME: Deprecated in 4.0 and scheduled for removal in 4.4 */