changeset 11787:47983f21da8f release-3-0-x

Frats fix for nargin==0
author David Bateman <dbateman@free.fr>
date Wed, 25 Jun 2008 12:46:32 +0200
parents 9de3ccd2e7ac
children 8e7f3c029f2d
files src/ChangeLog src/pr-output.cc
diffstat 2 files changed, 19 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
+2008-06-25  David Bateman  <dbateman@free.fr>
+
+	* pr-output.cc (Frats): Print usage if nargin == 0.
+	
 2008-06-20  Jaroslav Hajek <highegg@gmail.com>
 
 	* DLD-FUNCTIONS/regexp.cc (octregexp_list): Make "once" an output
--- a/src/pr-output.cc
+++ b/src/pr-output.cc
@@ -2719,18 +2719,20 @@
 
   int nargin = args.length ();
 
-  unwind_protect::begin_frame ("Frats");
-
-  unwind_protect_int (rat_string_len);
-
-  rat_string_len = 9;
-
-  if (nargin == 2)
-    rat_string_len = args(1).nint_value ();
-
-  if (! error_state)
+  if (nargin < 1 || nargin > 2 || nargout > 1)
+    print_usage ();
+  else
     {
-      if (nargin < 3 && nargout < 2)
+      unwind_protect::begin_frame ("Frats");
+
+      unwind_protect_int (rat_string_len);
+
+      rat_string_len = 9;
+
+      if (nargin == 2)
+	rat_string_len = args(1).nint_value ();
+
+      if (! error_state)
 	{
 	  octave_value arg = args(0);
 
@@ -2770,12 +2772,10 @@
 	  else
 	    error ("rats: expecting numeric input");
 	}
-      else
-	print_usage ();
+
+      unwind_protect::run_frame ("Frats");
     }
 
-  unwind_protect::run_frame ("Frats");
-
   return retval;
 }