diff src/ov-struct.cc @ 5336:6ba182a85dea

[project @ 2005-05-04 18:12:16 by jwe]
author jwe
date Wed, 04 May 2005 18:12:17 +0000
parents 4c8a2e4e0717
children 4bea82210dcd
line wrap: on
line diff
--- a/src/ov-struct.cc	Mon May 02 20:33:48 2005 +0000
+++ b/src/ov-struct.cc	Wed May 04 18:12:17 2005 +0000
@@ -1026,7 +1026,15 @@
 	      if (!is)
 		break;
 
-	      m.assign (nm, t2);
+	      Cell tcell = t2.cell_value ();
+
+	      if (error_state)
+		{
+		  error ("load: internal error loading struct elements");
+		  return false;
+		}
+
+	      m.assign (nm, tcell);
 	    }
 
 	  if (is) 
@@ -1103,7 +1111,15 @@
 	  if (!is)
 	    break;
 
-	  m.assign (nm, t2);
+	  Cell tcell = t2.cell_value ();
+
+	  if (error_state)
+	    {
+	      error ("load: internal error loading struct elements");
+	      return false;
+	    }
+
+	  m.assign (nm, tcell);
 	}
 
       if (is) 
@@ -1179,7 +1195,15 @@
 				hdf5_read_next_data, &dsub)) > 0)
 #endif
     {
-      m.assign (dsub.name, dsub.tc);
+      Cell tcell = dsub.tc.cell_value ();
+
+      if (error_state)
+	{
+	  error ("load: internal error loading struct elements");
+	  return false;
+	}
+
+      m.assign (dsub.name, tcell);
 
       if (have_h5giterate_bug)
 	current_item++;  // H5Giterate returned the last index processed