diff src/file-io.cc @ 5370:f07a9653b844

[project @ 2005-05-24 02:25:57 by jwe]
author jwe
date Tue, 24 May 2005 02:25:58 +0000
parents df230b7df93c
children f654f94c46af
line wrap: on
line diff
--- a/src/file-io.cc	Mon May 23 23:39:28 2005 +0000
+++ b/src/file-io.cc	Tue May 24 02:25:58 2005 +0000
@@ -414,9 +414,9 @@
 	    {
 	      FILE *fptr = ::fopen (name.c_str (), mode.c_str ());
 
-	      if (fptr)
-		retval = octave_stdiostream::create (name, fptr, md, flt_fmt);
-	      else
+	      retval = octave_stdiostream::create (name, fptr, md, flt_fmt);
+
+	      if (! fptr)
 		{
 		  using namespace std;
 		  retval.error (::strerror (errno));
@@ -608,23 +608,18 @@
 
       octave_stream os = do_stream_open (args(0), mode, arch, "fopen", fid);
 
-      if (os.is_valid ())
+      if (os && ! error_state)
 	{
-	  if (os && ! error_state)
-	    {
-	      retval(1) = "";
-	      retval(0) = octave_stream_list::insert (os);
-	    }
-	  else
-	    {
-	      int error_number = 0;
-
-	      retval(1) = os.error (false, error_number);
-	      retval(0) = -1.0;
-	    }
+	  retval(1) = "";
+	  retval(0) = octave_stream_list::insert (os);
 	}
       else
-	error ("fopen: internal error");
+	{
+	  int error_number = 0;
+
+	  retval(1) = os.error (false, error_number);
+	  retval(0) = -1.0;
+	}
     }
   else
     print_usage ("fopen");