Mercurial > octave
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; + } } } }