aboutsummaryrefslogtreecommitdiff
path: root/gdb/cli/cli-decode.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/cli/cli-decode.c')
-rw-r--r--gdb/cli/cli-decode.c59
1 files changed, 35 insertions, 24 deletions
diff --git a/gdb/cli/cli-decode.c b/gdb/cli/cli-decode.c
index fb755a6..d6f54a6 100644
--- a/gdb/cli/cli-decode.c
+++ b/gdb/cli/cli-decode.c
@@ -1,6 +1,6 @@
/* Handle lists of commands, their decoding and documentation, for GDB.
- Copyright 1986, 1989, 1990, 1991, 1998, 2000, 2001, 2002 Free
+ Copyright 1986, 1989, 1990, 1991, 1998, 2000, 2001, 2002, 2004 Free
Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
@@ -320,16 +320,19 @@ add_set_or_show_cmd (char *name,
CLASS is as in add_cmd. VAR_TYPE is the kind of thing we are
setting. VAR is address of the variable being controlled by this
command. SET_FUNC and SHOW_FUNC are the callback functions (if
- non-NULL). SET_DOC and SHOW_DOC are the documentation strings.
- SET_RESULT and SHOW_RESULT, if not NULL, are set to the resulting
- command structures. */
+ non-NULL). SET_DOC, SHOW_DOC and HELP_DOC are the documentation
+ strings. PRINT the format string to print the value. SET_RESULT
+ and SHOW_RESULT, if not NULL, are set to the resulting command
+ structures. */
void
add_setshow_cmd_full (char *name,
enum command_class class,
var_types var_type, void *var,
- char *set_doc, char *show_doc,
- cmd_sfunc_ftype *set_func, cmd_sfunc_ftype *show_func,
+ const char *set_doc, const char *show_doc,
+ const char *help_doc, const char *print,
+ cmd_sfunc_ftype *set_func,
+ cmd_sfunc_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list,
struct cmd_list_element **set_result,
@@ -337,12 +340,14 @@ add_setshow_cmd_full (char *name,
{
struct cmd_list_element *set;
struct cmd_list_element *show;
+ char *full_set_doc = xstrprintf ("%s\n%s", set_doc, help_doc);
+ char *full_show_doc = xstrprintf ("%s\n%s", show_doc, help_doc);
set = add_set_or_show_cmd (name, set_cmd, class, var_type, var,
- set_doc, set_list);
+ full_set_doc, set_list);
if (set_func != NULL)
set_cmd_sfunc (set, set_func);
show = add_set_or_show_cmd (name, show_cmd, class, var_type, var,
- show_doc, show_list);
+ full_show_doc, show_list);
if (show_func != NULL)
set_cmd_sfunc (show, show_func);
@@ -362,12 +367,14 @@ void
add_setshow_cmd (char *name,
enum command_class class,
var_types var_type, void *var,
- char *set_doc, char *show_doc,
+ const char *set_doc, const char *show_doc,
+ const char *help_doc, const char *print,
cmd_sfunc_ftype *set_func, cmd_sfunc_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list)
{
- add_setshow_cmd_full (name, class, var_type, var, set_doc, show_doc,
+ add_setshow_cmd_full (name, class, var_type, var,
+ set_doc, show_doc, help_doc, print,
set_func, show_func, set_list, show_list,
NULL, NULL);
}
@@ -414,7 +421,8 @@ void
add_setshow_auto_boolean_cmd (char *name,
enum command_class class,
enum auto_boolean *var,
- char *set_doc, char *show_doc,
+ const char *set_doc, const char *show_doc,
+ const char *help_doc, const char *print,
cmd_sfunc_ftype *set_func,
cmd_sfunc_ftype *show_func,
struct cmd_list_element **set_list,
@@ -423,7 +431,8 @@ add_setshow_auto_boolean_cmd (char *name,
static const char *auto_boolean_enums[] = { "on", "off", "auto", NULL };
struct cmd_list_element *c;
add_setshow_cmd_full (name, class, var_auto_boolean, var,
- set_doc, show_doc, set_func, show_func,
+ set_doc, show_doc, help_doc, print,
+ set_func, show_func,
set_list, show_list,
&c, NULL);
c->enums = auto_boolean_enums;
@@ -434,9 +443,9 @@ add_setshow_auto_boolean_cmd (char *name,
add_cmd. VAR is address of the variable which will contain the
value. SET_DOC and SHOW_DOC are the documentation strings. */
void
-add_setshow_boolean_cmd (char *name,
- enum command_class class,
- int *var, char *set_doc, char *show_doc,
+add_setshow_boolean_cmd (char *name, enum command_class class, int *var,
+ const char *set_doc, const char *show_doc,
+ const char *help_doc, const char *print,
cmd_sfunc_ftype *set_func,
cmd_sfunc_ftype *show_func,
struct cmd_list_element **set_list,
@@ -445,7 +454,7 @@ add_setshow_boolean_cmd (char *name,
static const char *boolean_enums[] = { "on", "off", NULL };
struct cmd_list_element *c;
add_setshow_cmd_full (name, class, var_boolean, var,
- set_doc, show_doc,
+ set_doc, show_doc, help_doc, print,
set_func, show_func,
set_list, show_list,
&c, NULL);
@@ -457,16 +466,17 @@ add_setshow_boolean_cmd (char *name,
add_cmd. VAR is address of the variable which will contain the
value. SET_DOC and SHOW_DOC are the documentation strings. */
void
-add_setshow_uinteger_cmd (char *name,
- enum command_class class,
- unsigned int *var, char *set_doc, char *show_doc,
+add_setshow_uinteger_cmd (char *name, enum command_class class,
+ unsigned int *var,
+ const char *set_doc, const char *show_doc,
+ const char *help_doc, const char *print,
cmd_sfunc_ftype *set_func,
cmd_sfunc_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list)
{
add_setshow_cmd_full (name, class, var_uinteger, var,
- set_doc, show_doc,
+ set_doc, show_doc, help_doc, print,
set_func, show_func,
set_list, show_list,
NULL, NULL);
@@ -477,16 +487,17 @@ add_setshow_uinteger_cmd (char *name,
add_cmd. VAR is address of the variable which will contain the
value. SET_DOC and SHOW_DOC are the documentation strings. */
void
-add_setshow_zinteger_cmd (char *name,
- enum command_class class,
- int *var, char *set_doc, char *show_doc,
+add_setshow_zinteger_cmd (char *name, enum command_class class,
+ int *var,
+ const char *set_doc, const char *show_doc,
+ const char *help_doc, const char *print,
cmd_sfunc_ftype *set_func,
cmd_sfunc_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list)
{
add_setshow_cmd_full (name, class, var_zinteger, var,
- set_doc, show_doc,
+ set_doc, show_doc, help_doc, print,
set_func, show_func,
set_list, show_list,
NULL, NULL);