Mercurial > hg > octave-nkf
diff src/pt-unop.cc @ 3962:e39b0ee1da6c
[project @ 2002-06-27 14:14:08 by jwe]
author | jwe |
---|---|
date | Thu, 27 Jun 2002 14:14:09 +0000 |
parents | bf6116ca10eb |
children | edd758a7ca8d |
line wrap: on
line diff
--- a/src/pt-unop.cc +++ b/src/pt-unop.cc @@ -74,15 +74,20 @@ { if (etype == octave_value::op_incr || etype == octave_value::op_decr) { - octave_lvalue ref = op->lvalue (); + op->rvalue (); + + if (! error_state) + { + octave_lvalue ref = op->lvalue (); - if (error_state) - eval_error (); - else if (ref.is_defined ()) - { - ref.do_unary_op (etype); + if (! error_state && ref.is_defined ()) + { + ref.do_unary_op (etype); - retval = ref.value (); + retval = ref.value (); + } + else + eval_error (); } else eval_error (); @@ -91,9 +96,7 @@ { octave_value val = op->rvalue (); - if (error_state) - eval_error (); - else if (val.is_defined ()) + if (! error_state && val.is_defined ()) { retval = ::do_unary_op (etype, val); @@ -155,15 +158,20 @@ { if (etype == octave_value::op_incr || etype == octave_value::op_decr) { - octave_lvalue ref = op->lvalue (); + op->rvalue (); + + if (! error_state) + { + octave_lvalue ref = op->lvalue (); - if (error_state) - eval_error (); - else if (ref.is_defined ()) - { - retval = ref.value (); + if (! error_state && ref.is_defined ()) + { + retval = ref.value (); - ref.do_unary_op (etype); + ref.do_unary_op (etype); + } + else + eval_error (); } else eval_error (); @@ -172,9 +180,7 @@ { octave_value val = op->rvalue (); - if (error_state) - eval_error (); - else if (val.is_defined ()) + if (! error_state && val.is_defined ()) { retval = ::do_unary_op (etype, val);