diff src/file-io.cc @ 4797:19b8225bdaa2

[project @ 2004-02-23 22:10:31 by jwe]
author jwe
date Mon, 23 Feb 2004 22:10:32 +0000
parents 14dc2267c343
children da0d1c453971
line wrap: on
line diff
--- a/src/file-io.cc	Mon Feb 23 15:35:00 2004 +0000
+++ b/src/file-io.cc	Mon Feb 23 22:10:32 2004 +0000
@@ -38,8 +38,9 @@
 #include <config.h>
 #endif
 
+#include <cerrno>
 #include <climits>
-#include <cerrno>
+#include <cstdio>
 
 #include <iostream>
 #include <vector>
@@ -337,8 +338,15 @@
       oct_mach_info::float_format flt_fmt =
 	oct_mach_info::string_to_float_format (arch);
 
-      if (! error_state)
-	retval = octave_fstream::create (name, md, flt_fmt);
+      FILE *fptr = ::fopen (name.c_str (), mode.c_str ());
+
+      if (fptr)
+	{	
+	  if (! error_state)
+	    retval = octave_stdiostream::create (name, fptr, md, flt_fmt);
+	}
+      else
+	error ("fopen: failed to open file %s", name.c_str ());
     }
 
   return retval;
@@ -638,7 +646,7 @@
 from the beginning of the file @var{fid}.\n\
 @end deftypefn")
 {
-  octave_value retval = streamoff_array (dim_vector (1, 1), -1);
+  octave_value retval = -1;
 
   int nargin = args.length ();
 
@@ -647,7 +655,7 @@
       octave_stream os = octave_stream_list::lookup (args(0), "ftell");
 
       if (! error_state)
-	retval = streamoff_array (dim_vector (1, 1), os.tell ());
+	retval = os.tell ();
     }
   else
     print_usage ("ftell");