# HG changeset patch # User jwe # Date 1074795053 0 # Node ID cf141edca9351a1f5f1a3a1870b7b01c23747367 # Parent e5639a6586c41814fdc64191044cbc2a83209e7a [project @ 2004-01-22 18:10:53 by jwe] diff -r e5639a6586c4 -r cf141edca935 liboctave/Array.cc --- a/liboctave/Array.cc Thu Jan 22 17:59:28 2004 +0000 +++ b/liboctave/Array.cc Thu Jan 22 18:10:53 2004 +0000 @@ -843,15 +843,15 @@ int old_len = length (); int len = get_size (dv); - + rep = new typename Array::ArrayRep (len); dim_vector dv_old = dimensions; - + if (n > dv_old.length ()) { dv_old.resize (n); - + for (int i = dv_old.length (); i < n; i++) dv_old.elem (i) = 1; } @@ -2246,14 +2246,14 @@ if (rhs.length () > 2) { dim_vector dv_tmp = rhs.squeeze().dims (); - + switch (dv_tmp.length ()) { case 1: if (rhs_nr == 1) rhs_nc = dv_tmp.elem (0); break; - + case 2: rhs_nr = dv_tmp.elem (0); rhs_nc = dv_tmp.elem (1); @@ -2262,7 +2262,7 @@ default: (*current_liboctave_error_handler) ("Array::assign2: Dimension mismatch"); - return 0; + return 0; } } diff -r e5639a6586c4 -r cf141edca935 liboctave/ChangeLog --- a/liboctave/ChangeLog Thu Jan 22 17:59:28 2004 +0000 +++ b/liboctave/ChangeLog Thu Jan 22 18:10:53 2004 +0000 @@ -1,7 +1,7 @@ 2004-01-22 Petter Risholm - * Array.cc (Array::assign2): Check for RHS dimensions larger - than 2. + * Array.cc (Array::resize_and_fill): Correctly copy old elements. + (Array::assign2): Check for RHS dimensions larger than 2. 2004-01-21 Petter Risholm