diff src/quad.cc @ 1329:13b630c0aad3

[project @ 1995-08-24 00:58:44 by jwe]
author jwe
date Thu, 24 Aug 1995 00:58:44 +0000
parents 611d403c7f3d
children 41c6ffb66c01
line wrap: on
line diff
--- a/src/quad.cc	Tue Aug 22 22:33:13 1995 +0000
+++ b/src/quad.cc	Thu Aug 24 00:58:44 1995 +0000
@@ -306,7 +306,7 @@
 }
 
 static void
-do_quad_option (char *keyword, double val)
+set_quad_option (char *keyword, double val)
 {
   QUAD_OPTIONS *list = quad_option_table;
 
@@ -325,6 +325,28 @@
   warning ("quad_options: no match for `%s'", keyword);
 }
 
+static Octave_object
+show_quad_option (char *keyword)
+{
+  Octave_object retval;
+
+  QUAD_OPTIONS *list = quad_option_table;
+
+  while (list->keyword != 0)
+    {
+      if (keyword_almost_match (list->kw_tok, list->min_len, keyword,
+				list->min_toks_to_match, MAX_TOKENS))
+	{
+	  return (quad_opts.*list->d_get_fcn) ();
+	}
+      list++;
+    }
+
+  warning ("quad_options: no match for `%s'", keyword);
+
+  return retval;
+}
+
 DEFUN_DLD_BUILTIN ("quad_options", Fquad_options, Squad_options, -1, 1,
   "quad_options (KEYWORD, VALUE)\n\
 \n\
@@ -340,18 +362,23 @@
       print_quad_option_list ();
       return retval;
     }
-  else if (nargin == 2)
+  else if (nargin == 1 || nargin == 2)
     {
       char *keyword = args(0).string_value ();
 
       if (! error_state)
 	{
-	  double val = args(1).double_value ();
+	  if (nargin == 1)
+	    return show_quad_option (keyword);
+	  else
+	    {
+	      double val = args(1).double_value ();
 
-	  if (! error_state)
-	    {
-	      do_quad_option (keyword, val);
-	      return retval;
+	      if (! error_state)
+		{
+		  set_quad_option (keyword, val);
+		  return retval;
+		}
 	    }
 	}
     }