diff src/pr-output.cc @ 7896:92c26470fe56

Frats fix for nargin==0
author David Bateman <dbateman@free.fr>
date Wed, 25 Jun 2008 12:46:32 +0200
parents 82be108cc558
children 63dbb85452cc
line wrap: on
line diff
--- a/src/pr-output.cc	Fri Jun 20 23:38:44 2008 +0200
+++ b/src/pr-output.cc	Wed Jun 25 12:46:32 2008 +0200
@@ -2766,18 +2766,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);
 
@@ -2817,12 +2819,10 @@
 	  else
 	    error ("rats: expecting numeric input");
 	}
-      else
-	print_usage ();
+
+      unwind_protect::run_frame ("Frats");
     }
 
-  unwind_protect::run_frame ("Frats");
-
   return retval;
 }