diff src/ov-struct.cc @ 10749:df1a3e0ebbff

important fixes for struct rewrite(1)
author Jaroslav Hajek <highegg@gmail.com>
date Thu, 24 Jun 2010 12:43:35 +0200
parents 58c1b5402588
children 717ba2c3eef1
line wrap: on
line diff
--- a/src/ov-struct.cc
+++ b/src/ov-struct.cc
@@ -431,7 +431,7 @@
                           tmp_cell = tmp_cell.reshape (didx);
 
 
-                        map.contents (key).assign (idxf, tmp_cell);
+                        map.assign (idxf, key, tmp_cell);
 
                         if (! error_state)
                           {
@@ -448,7 +448,7 @@
                         if (idxf.all_scalars () 
                             || cmap.contents (key).index (idxf, true).numel () == 1)
                           {
-                            map.contents (key).assign (idxf, Cell (t_rhs.storable_value ()));
+                            map.assign (idxf, key, Cell (t_rhs.storable_value ()));
                             if (! error_state)
                               {
                                 count++;
@@ -1239,6 +1239,9 @@
         map.setfield (key, t_rhs.storable_value ());
       else
         gripe_failed_assignment ();
+
+      count++;
+      retval = this;
     }
   else
     {