# HG changeset patch # User jwe # Date 861768062 0 # Node ID c3f7ed3874afd2a798e468eb40099e006cc9ba5e # Parent 6285237ed3b9ac859050d34a259b0269209a197e [project @ 1997-04-23 04:01:02 by jwe] diff --git a/src/file-io.cc b/src/file-io.cc --- a/src/file-io.cc +++ b/src/file-io.cc @@ -527,22 +527,31 @@ if (nargin > 1) { - octave_stream *os = octave_stream_list::lookup (args(0)); + octave_stream *os = 0; + int fmt_n = 0; + + if (args(0).is_string ()) + os = octave_stream_list::lookup (1); + else + { + fmt_n = 1; + os = octave_stream_list::lookup (args(0)); + } if (os) { - if (args(1).is_string ()) + if (args(fmt_n).is_string ()) { - string fmt = args(1).string_value (); + string fmt = args(fmt_n).string_value (); octave_value_list tmp_args; - if (nargin > 2) + if (nargin > 1 + fmt_n) { - tmp_args.resize (nargin-2, octave_value ()); + tmp_args.resize (nargin-fmt_n-1, octave_value ()); - for (int i = 2; i < nargin; i++) - tmp_args(i-2) = args(i); + for (int i = fmt_n + 1; i < nargin; i++) + tmp_args(i-fmt_n-1) = args(i); } retval = os->printf (fmt, tmp_args);