changeset 4083:9a1bdd7fff3e

[project @ 2002-10-02 18:02:23 by jwe]
author jwe
date Wed, 02 Oct 2002 18:02:23 +0000
parents b8bae1ba4651
children babc519f245b
files liboctave/ChangeLog liboctave/dMatrix.cc
diffstat 2 files changed, 43 insertions(+), 48 deletions(-) [+]
line wrap: on
line diff
--- a/liboctave/ChangeLog	Tue Oct 01 18:10:05 2002 +0000
+++ b/liboctave/ChangeLog	Wed Oct 02 18:02:23 2002 +0000
@@ -1,3 +1,7 @@
+2002-10-02  John W. Eaton  <jwe@bevo.che.wisc.edu>
+
+	* dMatrix.cc (Matrix::read): Clean up error handling logic.
+
 2002-09-30  John W. Eaton  <jwe@bevo.che.wisc.edu>
 
 	* file-ops.cc (file_ops::mkdir): Handle one-arg mkdir here.
--- a/liboctave/dMatrix.cc	Tue Oct 01 18:10:05 2002 +0000
+++ b/liboctave/dMatrix.cc	Wed Oct 02 18:02:23 2002 +0000
@@ -2479,64 +2479,55 @@
 	      break;
 	    }
 
-	  if (is)
+	  double tmp = 0.0;
+
+	  ok = do_read (is, dt, flt_fmt, swap_bytes, do_float_conversion, tmp);
+
+	  if (ok)
 	    {
-	      double tmp = 0.0;
-
-	      ok = do_read (is, dt, flt_fmt, swap_bytes,
-			    do_float_conversion, tmp);
-
-	      if (ok)
+	      if (is)
 		{
-		  if (is)
+		  if (count == max_size)
 		    {
-		      if (count == max_size)
-			{
-			  max_size *= 2;
-
-			  if (nr > 0)
-			    resize (nr, max_size / nr, 0.0);
-			  else
-			    resize (max_size, 1, 0.0);
-
-			  data = fortran_vec ();
-			}
-
-		      data[count++] = tmp;
+		      max_size *= 2;
+
+		      if (nr > 0)
+			resize (nr, max_size / nr, 0.0);
+		      else
+			resize (max_size, 1, 0.0);
+
+		      data = fortran_vec ();
 		    }
 
-		  if (ok && skip != 0)
-		    is.seekg (skip, std::ios::cur);
-
-		  if (! ok || is.eof ())
+		  data[count++] = tmp;
+		}
+
+	      if (skip != 0)
+		is.seekg (skip, std::ios::cur);
+
+	      if (is.eof ())
+		{
+		  if (nr > 0)
 		    {
-		      if (is.eof ())
+		      if (count > nr)
 			{
-			  if (nr > 0)
-			    {
-			      if (count > nr)
-				{
-				  final_nr = nr;
-				  final_nc = (count - 1) / nr + 1;
-				}
-			      else
-				{
-				  final_nr = count;
-				  final_nc = 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
+		    {
+		      final_nr = count;
+		      final_nc = 1;
+		    }
+
+		  break;
 		}
-	      else
-		break;
 	    }
 	  else
 	    {