comparison src/file-io.cc @ 4036:1432e11733d1

[project @ 2002-08-12 18:38:40 by jwe]
author jwe
date Mon, 12 Aug 2002 18:38:40 +0000
parents ef75c970c8f5
children e0e95e9aad7b
comparison
equal deleted inserted replaced
4035:92776b806c55 4036:1432e11733d1
92 close_files (void) 92 close_files (void)
93 { 93 {
94 octave_stream_list::clear (); 94 octave_stream_list::clear ();
95 } 95 }
96 96
97 static int 97 static std::ios::openmode
98 fopen_mode_to_ios_mode (const std::string& mode) 98 fopen_mode_to_ios_mode (const std::string& mode)
99 { 99 {
100 int retval = 0; 100 std::ios::openmode retval = std::ios::in;
101 101
102 if (! mode.empty ()) 102 if (! mode.empty ())
103 { 103 {
104 // Could probably be faster, but does it really matter? 104 // Could probably be faster, but does it really matter?
105 105
122 else if (mode == "ab") 122 else if (mode == "ab")
123 retval = std::ios::out | std::ios::app | std::ios::binary; 123 retval = std::ios::out | std::ios::app | std::ios::binary;
124 else if (mode == "r+b") 124 else if (mode == "r+b")
125 retval = std::ios::in | std::ios::out | std::ios::binary; 125 retval = std::ios::in | std::ios::out | std::ios::binary;
126 else if (mode == "w+b") 126 else if (mode == "w+b")
127 retval = std::ios::in | std::ios::out | std::ios::trunc | std::ios::binary; 127 retval = (std::ios::in | std::ios::out | std::ios::trunc
128 | std::ios::binary);
128 else if (mode == "a+b") 129 else if (mode == "a+b")
129 retval = std::ios::in | std::ios::out | std::ios::app | std::ios::binary; 130 retval = (std::ios::in | std::ios::out | std::ios::app
131 | std::ios::binary);
130 else 132 else
131 ::error ("invalid mode specified"); 133 ::error ("invalid mode specified");
132 } 134 }
133 135
134 return retval; 136 return retval;
308 { 310 {
309 octave_stream retval; 311 octave_stream retval;
310 312
311 fid = -1; 313 fid = -1;
312 314
313 int md = fopen_mode_to_ios_mode (mode); 315 std::ios::openmode md = fopen_mode_to_ios_mode (mode);
314 316
315 if (! error_state) 317 if (! error_state)
316 { 318 {
317 oct_mach_info::float_format flt_fmt = 319 oct_mach_info::float_format flt_fmt =
318 oct_mach_info::string_to_float_format (arch); 320 oct_mach_info::string_to_float_format (arch);
319 321
320 if (! error_state) 322 if (! error_state)
321 retval = octave_fstream::create (name, 323 retval = octave_fstream::create (name, md, flt_fmt);
322 static_cast<std::ios::openmode> (md),
323 flt_fmt);
324 } 324 }
325 325
326 return retval; 326 return retval;
327 } 327 }
328 328