Mercurial > hg > octave-nkf
diff liboctave/Array.cc @ 5081:273205761b4d
[project @ 2004-11-17 15:15:00 by jwe]
author | jwe |
---|---|
date | Wed, 17 Nov 2004 15:15:01 +0000 |
parents | c6ef19da4b24 |
children | e35b034d3523 |
line wrap: on
line diff
--- a/liboctave/Array.cc +++ b/liboctave/Array.cc @@ -1934,19 +1934,27 @@ { Array<T> retval; - switch (ndims ()) + dim_vector dv = idx_arg.orig_dimensions (); + + if (dv.length () > 2 || ndims () > 2) + retval = indexN (idx_arg, resize_ok, rfv); + else { - case 1: - retval = index1 (idx_arg, resize_ok, rfv); - break; - - case 2: - retval = index2 (idx_arg, resize_ok, rfv); - break; - - default: - retval = indexN (idx_arg, resize_ok, rfv); - break; + switch (ndims ()) + { + case 1: + retval = index1 (idx_arg, resize_ok, rfv); + break; + + case 2: + retval = index2 (idx_arg, resize_ok, rfv); + break; + + default: + (*current_liboctave_error_handler) + ("invalid array (internal error)"); + break; + } } return retval;