diff src/oct-stream.cc @ 5030:160365410ad4

[project @ 2004-09-24 03:22:23 by jwe]
author jwe
date Fri, 24 Sep 2004 03:22:24 +0000
parents 25c2664861bc
children 1312d3af9eb0
line wrap: on
line diff
--- a/src/oct-stream.cc
+++ b/src/oct-stream.cc
@@ -2780,8 +2780,6 @@
 
   RET_T nda;
 
-  bool ok = true;
-
   count = 0;
 
   typename octave_array_type_traits<RET_T>::element_type elt_zero
@@ -2792,7 +2790,7 @@
   int max_size = 0;
 
   int final_nr = 0;
-  int final_nc = 0;
+  int final_nc = 1;
 
   if (nr > 0)
     {
@@ -2873,78 +2871,64 @@
 	      typename octave_array_type_traits<RET_T>::element_type tmp
 		= static_cast <typename octave_array_type_traits<RET_T>::element_type> (u.val);
 
-	      if (ok)
+	      if (is)
 		{
-		  if (is)
+		  if (count == max_size)
 		    {
-		      if (count == max_size)
-			{
-			  max_size *= 2;
-
-			  if (nr > 0)
-			    nda.resize (dim_vector (nr, max_size / nr),
-					elt_zero);
-			  else
-			    nda.resize (dim_vector (max_size, 1), elt_zero);
-
-			  dat = nda.fortran_vec ();
-			}
-
-		      dat[count++] = tmp;
-
-		      elts_read++;
+		      max_size *= 2;
+
+		      if (nr > 0)
+			nda.resize (dim_vector (nr, max_size / nr),
+				    elt_zero);
+		      else
+			nda.resize (dim_vector (max_size, 1), elt_zero);
+
+		      dat = nda.fortran_vec ();
 		    }
 
-		  if (skip != 0 && elts_read == block_size)
+		  dat[count++] = tmp;
+
+		  elts_read++;
+		}
+
+	      if (skip != 0 && elts_read == block_size)
+		{
+		  strm.seek (skip, SEEK_CUR);
+		  elts_read = 0;
+		}
+
+	      if (is.eof ())
+		{
+		  if (nr > 0)
 		    {
-		      strm.seek (skip, SEEK_CUR);
-		      elts_read = 0;
-		    }
-
-		  if (is.eof ())
-		    {
-		      if (nr > 0)
+		      if (count > nr)
 			{
-			  if (count > nr)
-			    {
-			      final_nr = nr;
-			      final_nc = (count - 1) / nr + 1;
-			    }
-			  else
-			    {
-			      final_nr = count;
-			      final_nc = 1;
-			    }
+			  final_nr = nr;
+			  final_nc = (count - 1) / nr + 1;
 			}
 		      else
 			{
 			  final_nr = count;
 			  final_nc = 1;
 			}
-
-		      break;
 		    }
-		}
-	      else
-		{
-		  ok = false;
+		  else
+		    {
+		      final_nr = count;
+		      final_nc = 1;
+		    }
+
 		  break;
 		}
 	    }
-	  else
-	    {
-	      ok = false;
-	      break;
-	    }
+	  else if (is.eof ())
+	    break;
 	}
     }
 
-  if (ok)
-    {
-      nda.resize (dim_vector (final_nr, final_nc), elt_zero);
-
-      retval = nda;
-    }
+  nda.resize (dim_vector (final_nr, final_nc), elt_zero);
+
+  retval = nda;
 
   return retval;
 }