# 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 -r c42ba026faf1 -r d9987dbdf91b src/ChangeLog --- a/src/ChangeLog Tue Aug 12 11:02:35 2008 -0400 +++ b/src/ChangeLog Tue Aug 12 13:20:27 2008 -0400 @@ -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 -r c42ba026faf1 -r d9987dbdf91b src/ov-struct.cc --- a/src/ov-struct.cc Tue Aug 12 11:02:35 2008 -0400 +++ b/src/ov-struct.cc Tue Aug 12 13:20:27 2008 -0400 @@ -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)