Mercurial > octave-libgccjit
diff src/file-io.cc @ 3737:b736f8b8f0a1
[project @ 2000-11-16 18:01:08 by jwe]
author | jwe |
---|---|
date | Thu, 16 Nov 2000 18:01:10 +0000 |
parents | 3796444c54a3 |
children | 13905c3a24af |
line wrap: on
line diff
--- a/src/file-io.cc Thu Nov 16 17:25:35 2000 +0000 +++ b/src/file-io.cc Thu Nov 16 18:01:10 2000 +0000 @@ -630,7 +630,7 @@ return retval; } -DEFUN (fprintf, args, , +DEFUN (fprintf, args, nargout, "-*- texinfo -*-\n\ @deftypefn {Built-in Function} {} fprintf (@var{fid}, @var{template}, @dots{})\n\ This function is just like @code{printf}, except that the output is\n\ @@ -638,6 +638,7 @@ @end deftypefn") { double retval = -1.0; + bool return_char_count = true; int nargin = args.length (); @@ -646,8 +647,16 @@ octave_stream os; int fmt_n = 0; - if (args(0).is_string ()) - os = octave_stream_list::lookup (1, "fprintf"); + if (args(0).is_string ()) + { + os = octave_stream_list::lookup (1, "fprintf"); + + // For compatibility with Matlab, which does not return the + // character count when behaving like printf (no file id + // parameter). + + return_char_count = (nargout != 0); + } else { fmt_n = 1; @@ -679,7 +688,10 @@ else print_usage ("fprintf"); - return retval; + if (return_char_count) + return retval; + else + return octave_value(); } DEFUN (fputs, args, ,