# HG changeset patch # User Jaroslav Hajek # Date 1277453966 -7200 # Node ID 92eb5fb58ebc1701ea7dcaac38298d285206b432 # Parent bee1b1a2e29a1d1cb10ddcda4feef323edd2bf26 fix resize with structs diff --git a/src/ChangeLog b/src/ChangeLog --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2010-06-25 Jaroslav Hajek + + * ov-struct.h (octave_scalar_struct::resize, octave_struct::resize): + Don't ignore fill argument. + 2010-06-25 Jaroslav Hajek * oct-map.h (octave_map::octave_map (const dim_vector&, const diff --git a/src/ov-struct.cc b/src/ov-struct.cc --- a/src/ov-struct.cc +++ b/src/ov-struct.cc @@ -555,6 +555,8 @@ else gripe_failed_assignment (); + retval.maybe_mutate (); + return retval; } diff --git a/src/ov-struct.h b/src/ov-struct.h --- a/src/ov-struct.h +++ b/src/ov-struct.h @@ -115,8 +115,8 @@ octave_value reshape (const dim_vector& new_dims) const { return map.reshape (new_dims); } - octave_value resize (const dim_vector& dv, bool = false) const - { octave_map tmap = map; tmap.resize (dv); return tmap; } + octave_value resize (const dim_vector& dv, bool fill = false) const + { octave_map tmap = map; tmap.resize (dv, fill); return tmap; } bool is_defined (void) const { return true; } @@ -228,8 +228,8 @@ octave_value reshape (const dim_vector& new_dims) const { return octave_map (map).reshape (new_dims); } - octave_value resize (const dim_vector& dv, bool = false) const - { octave_map tmap = map; tmap.resize (dv); return tmap; } + octave_value resize (const dim_vector& dv, bool fill = false) const + { octave_map tmap = map; tmap.resize (dv, fill); return tmap; } bool is_defined (void) const { return true; } diff --git a/src/ov.cc b/src/ov.cc --- a/src/ov.cc +++ b/src/ov.cc @@ -2593,7 +2593,7 @@ case '(': { if (type.length () > 1 && type[1] == '.') - retval = Octave_map (); + retval = octave_map (); else retval = octave_value (rhs.empty_clone ()); } @@ -2604,7 +2604,7 @@ break; case '.': - retval = Octave_map (); + retval = octave_scalar_map (); break; default: