diff liboctave/Array.cc @ 5837:55404f3b0da1

[project @ 2006-06-01 19:05:31 by jwe]
author jwe
date Thu, 01 Jun 2006 19:05:32 +0000
parents faafc2d98b8d
children 0dd8428bb260
line wrap: on
line diff
--- a/liboctave/Array.cc
+++ b/liboctave/Array.cc
@@ -3104,14 +3104,15 @@
 	      else
 		final_lhs_dims = new_dims;
 
-	      lhs_dims = new_dims;
-
-	      lhs_dims_len = lhs_dims.length ();
-
-	      frozen_len = freeze (idx, lhs_dims, true);
+	      lhs_dims_len = new_dims.length ();
+
+	      frozen_len = freeze (idx, new_dims, true);
 
 	      if (rhs_is_scalar)
 		{
+		  if (n_idx < orig_lhs_dims_len)
+		    lhs = lhs.reshape (lhs_dims);
+
 		  lhs.resize_and_fill (new_dims, rfv);
 
 		  if  (! final_lhs_dims.any_zero ())
@@ -3147,6 +3148,9 @@
 		    }
 		  else
 		    {
+		      if (n_idx < orig_lhs_dims_len)
+			lhs = lhs.reshape (lhs_dims);
+
 		      lhs.resize_and_fill (new_dims, rfv);
 
 		      if  (! final_lhs_dims.any_zero ())