# HG changeset patch # User John W. Eaton # Date 1218561627 14400 # Node ID d9987dbdf91bfa615f784733ac7e940d9ac921b8 # Parent c42ba026faf1245cfc8ffa8ae5006b2662f59304 octave_struct::subsref: don't resize for simple x(idx) case diff --git a/src/ChangeLog b/src/ChangeLog --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2008-08-12 John W. Eaton + + * ov-struct.cc (octave_struct::subsref): Don't allow resizing for + simple x(idx) case. + 2008-08-07 John W. Eaton * ov.cc (octave_value::idx_type_value): Don't include default diff --git a/src/ov-struct.cc b/src/ov-struct.cc --- a/src/ov-struct.cc +++ b/src/ov-struct.cc @@ -129,7 +129,7 @@ } } else - retval(0) = map.index (idx.front (), true); + retval(0) = map.index (idx.front (), false); } break; @@ -162,6 +162,14 @@ return retval; } +/* +%!test +%! x(1).a.a = 1; x(2).a.a = 2; +%! assert (size (x), [1, 2]); +%! assert (x(1).a.a, 1); +%! assert (x(2).a.a, 2); +*/ + octave_value octave_struct::numeric_conv (const Cell& val, const std::string& type)