diff src/oct-stream.cc @ 2759:99dd10f4eaaf

[project @ 1997-02-27 08:59:55 by jwe]
author jwe
date Thu, 27 Feb 1997 09:02:09 +0000
parents 2ff2b536cc9d
children 9aeba8e006a4
line wrap: on
line diff
--- a/src/oct-stream.cc
+++ b/src/oct-stream.cc
@@ -999,7 +999,7 @@
 
 		    is.scan (fmt, &dummy);
 		  }
-		  break;
+		break;
 
 		case 'd': case 'i': case 'o': case 'u': case 'x':
 		  {
@@ -1008,7 +1008,7 @@
 		    do_scanf_conv (is, fmt, &tmp, mval, data, count,
 				   nr, max_size, discard);
 		  }
-		  break;
+		break;
 
 		case 'e': case 'f': case 'g':
 		  {
@@ -1017,7 +1017,7 @@
 		    do_scanf_conv (is, fmt, &tmp, mval, data, count,
 				   nr, max_size, discard);
 		  }
-		  break;
+		break;
 
 		case 'c':
 		  is.unsetf (ios::skipws);
@@ -1070,7 +1070,7 @@
 
 		    is.setf (flags);
 		  }
-		  break;
+		break;
 
 		case 'p': case '[':
 		  error ("fscanf: unsupported format specifier");
@@ -1087,20 +1087,12 @@
 		}
 	      else if (! is)
 		{
-		  if (is.eof ())
+		  if (nr > 0)
 		    {
-		      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
 			{
@@ -1110,19 +1102,20 @@
 		    }
 		  else
 		    {
-		      error ("fscanf: read error");
-
-		      // XXX FIXME XXX -- is this the right thing to do?
-		      // What about other streams?
-		      if (name () == "stdin")
-			{
-			  is.clear ();
-
-			  // Skip to end of line.
-
-			  bool err;
-			  do_gets (-1, err, false, "fscanf");
-			}
+		      final_nr = count;
+		      final_nc = 1;
+		    }
+
+		  // XXX FIXME XXX -- is this the right thing to do?
+		  // What about other streams?
+		  if (name () == "stdin")
+		    {
+		      is.clear ();
+
+		      // Skip to end of line.
+
+		      bool err;
+		      do_gets (-1, err, false, "fscanf");
 		    }
 
 		  break;