Mercurial > hg > octave-lyh
diff src/variables.cc @ 867:b6b78f85743a
[project @ 1994-11-02 14:20:02 by jwe]
author | jwe |
---|---|
date | Wed, 02 Nov 1994 14:20:02 +0000 |
parents | 4c3de23d0fb1 |
children | 3896bd1fdda4 |
line wrap: on
line diff
--- a/src/variables.cc +++ b/src/variables.cc @@ -967,16 +967,16 @@ } static int -maybe_list (const char *header, ostrstream& output_buf, - int show_verbose, symbol_table *sym_tab, unsigned type, - unsigned scope) +maybe_list (const char *header, char **argv, int argc, + ostrstream& output_buf, int show_verbose, symbol_table + *sym_tab, unsigned type, unsigned scope) { int count; int status = 0; if (show_verbose) { symbol_record_info *symbols; - symbols = sym_tab->long_list (count, 1, type, scope); + symbols = sym_tab->long_list (count, argv, argc, 1, type, scope); if (symbols && count > 0) { output_buf << "\n" << header << "\n\n" @@ -990,7 +990,7 @@ } else { - char **symbols = sym_tab->list (count, 1, type, scope); + char **symbols = sym_tab->list (count, argv, argc, 1, type, scope); if (symbols && count > 0) { output_buf << "\n" << header << "\n\n"; @@ -1057,9 +1057,10 @@ show_variables = 0; } - for (int i = 1; i < argc; i++) + while (--argc > 0) { argv++; + if (strcmp (*argv, "-all") == 0 || strcmp (*argv, "-a") == 0) { show_builtins++; @@ -1074,8 +1075,10 @@ show_verbose++; else if (strcmp (*argv, "-variables") == 0 || strcmp (*argv, "-v") == 0) show_variables++; + else if (*argv[0] == '-') + warning ("%s: unrecognized option `%s'", my_name, *argv); else - warning ("%s: unrecognized option `%s'", my_name, *argv); + break; } // If the user specified -l and nothing else, show variables. If @@ -1092,12 +1095,12 @@ if (show_builtins) { - pad_after += maybe_list ("*** built-in variables:", + pad_after += maybe_list ("*** built-in variables:", argv, argc, output_buf, show_verbose, global_sym_tab, symbol_def::BUILTIN_VARIABLE, SYMTAB_ALL_SCOPES); - pad_after += maybe_list ("*** built-in functions:", + pad_after += maybe_list ("*** built-in functions:", argv, argc, output_buf, show_verbose, global_sym_tab, symbol_def::BUILTIN_FUNCTION, SYMTAB_ALL_SCOPES); @@ -1106,21 +1109,21 @@ if (show_functions) { pad_after += maybe_list ("*** currently compiled functions:", - output_buf, show_verbose, global_sym_tab, - symbol_def::USER_FUNCTION, + argv, argc, output_buf, show_verbose, + global_sym_tab, symbol_def::USER_FUNCTION, SYMTAB_ALL_SCOPES); } if (show_variables) { - pad_after += maybe_list ("*** local user variables:", + pad_after += maybe_list ("*** local user variables:", argv, argc, output_buf, show_verbose, curr_sym_tab, symbol_def::USER_VARIABLE, SYMTAB_LOCAL_SCOPE); pad_after += maybe_list ("*** globally visible user variables:", - output_buf, show_verbose, curr_sym_tab, - symbol_def::USER_VARIABLE, + argv, argc, output_buf, show_verbose, + curr_sym_tab, symbol_def::USER_VARIABLE, SYMTAB_GLOBAL_SCOPE); }