Merge setshow print and show parameters.
* command.h (show_value_ftype): Define.
(deprecated_show_value_hack): Declare.
(add_setshow_enum_cmd, add_setshow_auto_boolean_cmd)
(add_setshow_boolean_cmd, add_setshow_filename_cmd)
(add_setshow_string_cmd, add_setshow_uinteger_cmd)
(add_setshow_zinteger_cmd): Change type of show_func to
show_value_ftype.
* cli/cli-decode.h (struct cmd_list_element): Replace
fprint_setshow with show_value_func.
* cli/cli-decode.c (add_setshow_cmd_full): Update show_func
parameter. Set show_value_func. Do not set cmd_sfunc.
(add_setshow_enum_cmd, add_setshow_auto_boolean_cmd)
(add_setshow_boolean_cmd, add_setshow_filename_cmd)
(add_setshow_string_cmd, add_setshow_uinteger_cmd)
(add_setshow_zinteger_cmd): Update.
* complaints.c (complaints_show_value): Replace
fprint_setshow_complaints.
(_initialize_complaints): Update.
* mips-tdep.c (show_mask_address): Update.
* arm-tdep.c (show_fp_model): Update.
* cli/cli-setshow.c (do_setshow_command): Call show_value_func
instead of fprint_setshow. Use deprecated_show_value_hack.
(deprecated_show_value_hack): New function.
* remote.c (add_packet_config_cmd, show_remote_cmd):
(show_remote_protocol_P_packet_cmd)
(show_remote_protocol_P_packet_cmd)
(show_remote_protocol_Z_access_wp_packet_cmd)
(show_remote_protocol_Z_hardware_bp_packet_cmd)
(show_remote_protocol_Z_packet_cmd)
(show_remote_protocol_Z_read_wp_packet_cmd)
(show_remote_protocol_Z_software_bp_packet_cmd)
(show_remote_protocol_Z_write_wp_packet_cmd)
(show_remote_protocol_binary_download_cmd)
(show_remote_protocol_p_packet_cmd)
(show_remote_protocol_qPart_auxv_packet_cmd)
(show_remote_protocol_qSymbol_packet_cmd)
(show_remote_protocol_vcont_packet_cmd): Update.
+2005-02-16 Andrew Cagney <cagney@gnu.org>
+
+ Merge setshow print and show parameters.
+ * command.h (show_value_ftype): Define.
+ (deprecated_show_value_hack): Declare.
+ (add_setshow_enum_cmd, add_setshow_auto_boolean_cmd)
+ (add_setshow_boolean_cmd, add_setshow_filename_cmd)
+ (add_setshow_string_cmd, add_setshow_uinteger_cmd)
+ (add_setshow_zinteger_cmd): Change type of show_func to
+ show_value_ftype.
+ * cli/cli-decode.h (struct cmd_list_element): Replace
+ fprint_setshow with show_value_func.
+ * cli/cli-decode.c (add_setshow_cmd_full): Update show_func
+ parameter. Set show_value_func. Do not set cmd_sfunc.
+ (add_setshow_enum_cmd, add_setshow_auto_boolean_cmd)
+ (add_setshow_boolean_cmd, add_setshow_filename_cmd)
+ (add_setshow_string_cmd, add_setshow_uinteger_cmd)
+ (add_setshow_zinteger_cmd): Update.
+ * complaints.c (complaints_show_value): Replace
+ fprint_setshow_complaints.
+ (_initialize_complaints): Update.
+ * mips-tdep.c (show_mask_address): Update.
+ * arm-tdep.c (show_fp_model): Update.
+ * cli/cli-setshow.c (do_setshow_command): Call show_value_func
+ instead of fprint_setshow. Use deprecated_show_value_hack.
+ (deprecated_show_value_hack): New function.
+ * remote.c (add_packet_config_cmd, show_remote_cmd):
+ (show_remote_protocol_P_packet_cmd)
+ (show_remote_protocol_P_packet_cmd)
+ (show_remote_protocol_Z_access_wp_packet_cmd)
+ (show_remote_protocol_Z_hardware_bp_packet_cmd)
+ (show_remote_protocol_Z_packet_cmd)
+ (show_remote_protocol_Z_read_wp_packet_cmd)
+ (show_remote_protocol_Z_software_bp_packet_cmd)
+ (show_remote_protocol_Z_write_wp_packet_cmd)
+ (show_remote_protocol_binary_download_cmd)
+ (show_remote_protocol_p_packet_cmd)
+ (show_remote_protocol_qPart_auxv_packet_cmd)
+ (show_remote_protocol_qSymbol_packet_cmd)
+ (show_remote_protocol_vcont_packet_cmd): Update.
+
2005-02-16 Mark Kettenis <kettenis@gnu.org>
* wrapper.h: Update copyright year. Properly wrap a few
}
static void
-show_fp_model (char *args, int from_tty,
- struct cmd_list_element *c)
+show_fp_model (struct ui_file *file, int from_tty,
+ struct cmd_list_element *c, const char *value)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+ deprecated_show_value_hack (file, from_tty, c, value);
if (arm_fp_model == ARM_FLOAT_AUTO
&& gdbarch_bfd_arch_info (current_gdbarch)->arch == bfd_arch_arm)
/* i18n: "the default [floating point model] for the current ABI..." */
const char *help_doc,
fprint_setshow_ftype *fprint_setshow,
cmd_sfunc_ftype *set_func,
- cmd_sfunc_ftype *show_func,
+ show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list,
struct cmd_list_element **set_result,
set_cmd_sfunc (set, set_func);
show = add_set_or_show_cmd (name, show_cmd, class, var_type, var,
full_show_doc, show_list);
- show->fprint_setshow = fprint_setshow;
-
- if (show_func != NULL)
- set_cmd_sfunc (show, show_func);
+ show->show_value_func = show_func;
if (set_result != NULL)
*set_result = set;
const char *help_doc,
fprint_setshow_ftype *fprint_setshow,
cmd_sfunc_ftype *set_func,
- cmd_sfunc_ftype *show_func,
+ show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list)
{
const char *help_doc,
fprint_setshow_ftype *fprint_setshow,
cmd_sfunc_ftype *set_func,
- cmd_sfunc_ftype *show_func,
+ show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list)
{
const char *help_doc,
fprint_setshow_ftype *fprint_setshow,
cmd_sfunc_ftype *set_func,
- cmd_sfunc_ftype *show_func,
+ show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list)
{
const char *help_doc,
fprint_setshow_ftype *fprint_setshow,
cmd_sfunc_ftype *set_func,
- cmd_sfunc_ftype *show_func,
+ show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list)
{
const char *help_doc,
fprint_setshow_ftype *fprint_setshow,
cmd_sfunc_ftype *set_func,
- cmd_sfunc_ftype *show_func,
+ show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list)
{
const char *help_doc,
fprint_setshow_ftype *fprint_setshow,
cmd_sfunc_ftype *set_func,
- cmd_sfunc_ftype *show_func,
+ show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list)
{
const char *help_doc,
fprint_setshow_ftype *fprint_setshow,
cmd_sfunc_ftype *set_func,
- cmd_sfunc_ftype *show_func,
+ show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list)
{
/* For set/show commands. A method for printing the output to the
specified stream. */
- fprint_setshow_ftype *fprint_setshow;
+ show_value_ftype *show_value_func;
/* flags : a bitfield
}
}
\f
+void
+deprecated_show_value_hack (struct ui_file *ignore_file,
+ int ignore_from_tty,
+ struct cmd_list_element *c,
+ const char *value)
+{
+ /* Print doc minus "show" at start. */
+ print_doc_line (gdb_stdout, c->doc + 5);
+ switch (c->var_type)
+ {
+ case var_string:
+ case var_string_noescape:
+ case var_filename:
+ case var_enum:
+ printf_filtered ((" is \"%s\".\n"), value);
+ break;
+ default:
+ printf_filtered ((" is %s.\n"), value);
+ break;
+ }
+}
+
/* Do a "set" or "show" command. ARG is NULL if no argument, or the text
of the argument, and FROM_TTY is nonzero if this command is being entered
directly by the user (i.e. these are just like any other
{
struct cleanup *old_chain;
struct ui_stream *stb;
- int quote;
stb = ui_out_stream_new (uiout);
old_chain = make_cleanup_ui_out_stream_delete (stb);
if (c->pre_show_hook)
(c->pre_show_hook) (c);
- quote = 0;
switch (c->var_type)
{
case var_string:
if (*(unsigned char **) c->var)
fputstr_filtered (*(unsigned char **) c->var, '"', stb->stream);
- quote = 1;
}
break;
case var_string_noescape:
case var_enum:
if (*(char **) c->var)
fputs_filtered (*(char **) c->var, stb->stream);
- quote = 1;
break;
case var_boolean:
fputs_filtered (*(int *) c->var ? "on" : "off", stb->stream);
if (ui_out_is_mi_like_p (uiout))
ui_out_field_stream (uiout, "value", stb);
- else if (c->fprint_setshow != NULL)
+ else
{
long length;
char *value = ui_file_xstrdup (stb->stream, &length);
make_cleanup (xfree, value);
- c->fprint_setshow (c, gdb_stdout, value);
- fprintf_filtered (gdb_stdout, "\n");
- }
- else
- {
- /* Print doc minus "show" at start. */
- print_doc_line (gdb_stdout, c->doc + 5);
-
- ui_out_text (uiout, " is ");
- ui_out_wrap_hint (uiout, " ");
- if (quote)
- ui_out_text (uiout, "\"");
- ui_out_field_stream (uiout, "value", stb);
- if (quote)
- ui_out_text (uiout, "\"");
- ui_out_text (uiout, ".\n");
- do_cleanups (old_chain);
+ if (c->show_value_func != NULL)
+ c->show_value_func (gdb_stdout, from_tty, c, value);
+ else
+ deprecated_show_value_hack (gdb_stdout, from_tty, c, value);
}
do_cleanups (old_chain);
}
struct ui_file *file,
const char *value);
+/* Method for show a set/show variable's VALUE on FILE. If this
+ method isn't supplied deprecated_show_value_hack() is called (which
+ is not good). */
+typedef void (show_value_ftype) (struct ui_file *file,
+ int from_tty,
+ struct cmd_list_element *cmd,
+ const char *value);
+/* NOTE: i18n: This function is not i18n friendly. Callers should
+ instead print the value out directly. */
+extern show_value_ftype deprecated_show_value_hack;
+
extern void add_setshow_enum_cmd (char *name,
enum command_class class,
const char *enumlist[],
const char *help_doc,
fprint_setshow_ftype *fprint_setshow,
cmd_sfunc_ftype *set_func,
- cmd_sfunc_ftype *show_func,
+ show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list);
const char *help_doc,
fprint_setshow_ftype *fprint_setshow,
cmd_sfunc_ftype *set_func,
- cmd_sfunc_ftype *show_func,
+ show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list);
const char *set_doc, const char *show_doc,
const char *help_doc, fprint_setshow_ftype *fprint_setshow,
cmd_sfunc_ftype *set_func,
- cmd_sfunc_ftype *show_func,
+ show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list);
const char *help_doc,
fprint_setshow_ftype *fprint_setshow,
cmd_sfunc_ftype *set_func,
- cmd_sfunc_ftype *show_func,
+ show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list);
const char *help_doc,
fprint_setshow_ftype *fprint_setshow,
cmd_sfunc_ftype *set_func,
- cmd_sfunc_ftype *show_func,
+ show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list);
const char *help_doc,
fprint_setshow_ftype *fprint_setshow,
cmd_sfunc_ftype *set_func,
- cmd_sfunc_ftype *show_func,
+ show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list);
const char *help_doc,
fprint_setshow_ftype *fprint_setshow,
cmd_sfunc_ftype *set_func,
- cmd_sfunc_ftype *show_func,
+ show_value_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list);
}
static void
-fprint_setshow_complaints (struct cmd_list_element *cmd,
- struct ui_file *file,
- const char *value)
+complaints_show_value (struct ui_file *file, int from_tty,
+ struct cmd_list_element *cmd, const char *value)
{
fprintf_filtered (file, _("Max number of complaints about incorrect"
- " symbols is %s."),
+ " symbols is %s.\n"),
value);
}
add_setshow_zinteger_cmd ("complaints", class_support, &stop_whining, _("\
Set max number of complaints about incorrect symbols."), _("\
Show max number of complaints about incorrect symbols."), NULL,
- fprint_setshow_complaints,
- NULL, NULL,
+ NULL, /* IGNORE */
+ NULL, complaints_show_value,
&setlist, &showlist);
-
}
}
static void
-show_mask_address (char *cmd, int from_tty, struct cmd_list_element *c)
+show_mask_address (struct ui_file *file, int from_tty,
+ struct cmd_list_element *c, const char *value)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+
+ deprecated_show_value_hack (file, from_tty, c, value);
switch (mask_address_var)
{
case AUTO_BOOLEAN_TRUE:
Use \"on\" to enable the masking, \"off\" to disable it and \"auto\" to \n\
allow GDB to determine the correct value."),
NULL, /* FIXME: i18n: Zerroing of upper 32 bits of 64-bit address is %s. */
- NULL, show_mask_address, &setmipscmdlist, &showmipscmdlist);
+ NULL, show_mask_address,
+ &setmipscmdlist, &showmipscmdlist);
/* Allow the user to control the size of 32 bit registers within the
raw remote packet. */
char *name,
char *title,
cmd_sfunc_ftype *set_func,
- cmd_sfunc_ftype *show_func,
+ show_value_ftype *show_func,
struct cmd_list_element **set_remote_list,
struct cmd_list_element **show_remote_list,
int legacy)
}
static void
-show_remote_protocol_vcont_packet_cmd (char *args, int from_tty,
- struct cmd_list_element *c)
+show_remote_protocol_vcont_packet_cmd (struct ui_file *file, int from_tty,
+ struct cmd_list_element *c,
+ const char *value)
{
+ deprecated_show_value_hack (file, from_tty, c, value);
show_packet_config_cmd (&remote_protocol_vcont);
}
}
static void
-show_remote_protocol_qSymbol_packet_cmd (char *args, int from_tty,
- struct cmd_list_element *c)
+show_remote_protocol_qSymbol_packet_cmd (struct ui_file *file, int from_tty,
+ struct cmd_list_element *c,
+ const char *value)
{
+ deprecated_show_value_hack (file, from_tty, c, value);
show_packet_config_cmd (&remote_protocol_qSymbol);
}
}
static void
-show_remote_protocol_P_packet_cmd (char *args, int from_tty,
- struct cmd_list_element *c)
+show_remote_protocol_P_packet_cmd (struct ui_file *file, int from_tty,
+ struct cmd_list_element *c,
+ const char *value)
{
+ deprecated_show_value_hack (file, from_tty, c, value);
show_packet_config_cmd (&remote_protocol_P);
}
}
static void
-show_remote_protocol_Z_software_bp_packet_cmd (char *args, int from_tty,
- struct cmd_list_element *c)
+show_remote_protocol_Z_software_bp_packet_cmd (struct ui_file *file, int from_tty,
+ struct cmd_list_element *c,
+ const char *value)
{
+ deprecated_show_value_hack (file, from_tty, c, value);
show_packet_config_cmd (&remote_protocol_Z[Z_PACKET_SOFTWARE_BP]);
}
}
static void
-show_remote_protocol_Z_hardware_bp_packet_cmd (char *args, int from_tty,
- struct cmd_list_element *c)
+show_remote_protocol_Z_hardware_bp_packet_cmd (struct ui_file *file, int from_tty,
+ struct cmd_list_element *c,
+ const char *value)
{
+ deprecated_show_value_hack (file, from_tty, c, value);
show_packet_config_cmd (&remote_protocol_Z[Z_PACKET_HARDWARE_BP]);
}
}
static void
-show_remote_protocol_Z_write_wp_packet_cmd (char *args, int from_tty,
- struct cmd_list_element *c)
+show_remote_protocol_Z_write_wp_packet_cmd (struct ui_file *file, int from_tty,
+ struct cmd_list_element *c,
+ const char *value)
{
+ deprecated_show_value_hack (file, from_tty, c, value);
show_packet_config_cmd (&remote_protocol_Z[Z_PACKET_WRITE_WP]);
}
}
static void
-show_remote_protocol_Z_read_wp_packet_cmd (char *args, int from_tty,
- struct cmd_list_element *c)
+show_remote_protocol_Z_read_wp_packet_cmd (struct ui_file *file, int from_tty,
+ struct cmd_list_element *c,
+ const char *value)
{
+ deprecated_show_value_hack (file, from_tty, c, value);
show_packet_config_cmd (&remote_protocol_Z[Z_PACKET_READ_WP]);
}
}
static void
-show_remote_protocol_Z_access_wp_packet_cmd (char *args, int from_tty,
- struct cmd_list_element *c)
+show_remote_protocol_Z_access_wp_packet_cmd (struct ui_file *file, int from_tty,
+ struct cmd_list_element *c,
+ const char *value)
{
+ deprecated_show_value_hack (file, from_tty, c, value);
show_packet_config_cmd (&remote_protocol_Z[Z_PACKET_ACCESS_WP]);
}
}
static void
-show_remote_protocol_Z_packet_cmd (char *args, int from_tty,
- struct cmd_list_element *c)
+show_remote_protocol_Z_packet_cmd (struct ui_file *file, int from_tty,
+ struct cmd_list_element *c,
+ const char *value)
{
int i;
for (i = 0; i < NR_Z_PACKET_TYPES; i++)
}
static void
-show_remote_protocol_binary_download_cmd (char *args, int from_tty,
- struct cmd_list_element *c)
+show_remote_protocol_binary_download_cmd (struct ui_file *file, int from_tty,
+ struct cmd_list_element *c,
+ const char *value)
{
+ deprecated_show_value_hack (file, from_tty, c, value);
show_packet_config_cmd (&remote_protocol_binary_download);
}
}
static void
-show_remote_protocol_qPart_auxv_packet_cmd (char *args, int from_tty,
- struct cmd_list_element *c)
+show_remote_protocol_qPart_auxv_packet_cmd (struct ui_file *file, int from_tty,
+ struct cmd_list_element *c,
+ const char *value)
{
+ deprecated_show_value_hack (file, from_tty, c, value);
show_packet_config_cmd (&remote_protocol_qPart_auxv);
}
}
static void
-show_remote_protocol_p_packet_cmd (char *args, int from_tty,
- struct cmd_list_element *c)
+show_remote_protocol_p_packet_cmd (struct ui_file *file, int from_tty,
+ struct cmd_list_element *c,
+ const char *value)
{
+ deprecated_show_value_hack (file, from_tty, c, value);
show_packet_config_cmd (&remote_protocol_p);
}
{
/* FIXME: cagney/2002-06-15: This function should iterate over
remote_show_cmdlist for a list of sub commands to show. */
- show_remote_protocol_Z_packet_cmd (args, from_tty, NULL);
- show_remote_protocol_P_packet_cmd (args, from_tty, NULL);
- show_remote_protocol_p_packet_cmd (args, from_tty, NULL);
- show_remote_protocol_qSymbol_packet_cmd (args, from_tty, NULL);
- show_remote_protocol_vcont_packet_cmd (args, from_tty, NULL);
- show_remote_protocol_binary_download_cmd (args, from_tty, NULL);
- show_remote_protocol_qPart_auxv_packet_cmd (args, from_tty, NULL);
+ show_remote_protocol_Z_packet_cmd (gdb_stdout, from_tty, NULL, NULL);
+ show_remote_protocol_P_packet_cmd (gdb_stdout, from_tty, NULL, NULL);
+ show_remote_protocol_p_packet_cmd (gdb_stdout, from_tty, NULL, NULL);
+ show_remote_protocol_qSymbol_packet_cmd (gdb_stdout, from_tty, NULL, NULL);
+ show_remote_protocol_vcont_packet_cmd (gdb_stdout, from_tty, NULL, NULL);
+ show_remote_protocol_binary_download_cmd (gdb_stdout, from_tty, NULL, NULL);
+ show_remote_protocol_qPart_auxv_packet_cmd (gdb_stdout, from_tty, NULL, NULL);
}
static void