/* Support for GDB maintenance commands.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002,
- 2003, 2004, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ 2003, 2004, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
Written by Fred Fish at Cygnus Support.
static void
maintenance_command (char *args, int from_tty)
{
- printf_unfiltered (_("\"maintenance\" must be followed by the name of a maintenance command.\n"));
+ printf_unfiltered (_("\"maintenance\" must be followed by "
+ "the name of a maintenance command.\n"));
help_list (maintenancelist, "maintenance ", -1, gdb_stdout);
}
/* Stimulate the internal error mechanism that GDB uses when an
internal problem is detected. Allows testing of the mechanism.
Also useful when the user wants to drop a core file but not exit
- GDB. */
+ GDB. */
static void
maintenance_internal_error (char *args, int from_tty)
/* Stimulate the internal error mechanism that GDB uses when an
internal problem is detected. Allows testing of the mechanism.
Also useful when the user wants to drop a core file but not exit
- GDB. */
+ GDB. */
static void
maintenance_internal_warning (char *args, int from_tty)
debuggee's process space, and have gdb fetch and demangle that
string. If we have a char* pointer "ptr" that points to a string,
we might want to be able to given just the name and have GDB
- demangle and print what it points to, etc. (FIXME) */
+ demangle and print what it points to, etc. (FIXME) */
static void
maintenance_demangle (char *args, int from_tty)
if (args == NULL || *args == '\0')
{
- printf_unfiltered (_("\"maintenance demangle\" takes an argument to demangle.\n"));
+ printf_unfiltered (_("\"maintenance demangle\" takes "
+ "an argument to demangle.\n"));
}
else
{
static void
maintenance_time_display (char *args, int from_tty)
{
- extern int display_time;
-
if (args == NULL || *args == '\0')
printf_unfiltered (_("\"maintenance time\" takes a numeric argument.\n"));
else
- display_time = strtol (args, NULL, 10);
+ set_display_time (strtol (args, NULL, 10));
}
static void
maintenance_space_display (char *args, int from_tty)
{
- extern int display_space;
-
if (args == NULL || *args == '\0')
printf_unfiltered ("\"maintenance space\" takes a numeric argument.\n");
else
- display_space = strtol (args, NULL, 10);
+ set_display_space (strtol (args, NULL, 10));
}
/* The "maintenance info" command is defined as a prefix, with
static void
maintenance_info_command (char *arg, int from_tty)
{
- printf_unfiltered (_("\"maintenance info\" must be followed by the name of an info command.\n"));
+ printf_unfiltered (_("\"maintenance info\" must be followed "
+ "by the name of an info command.\n"));
help_list (maintenanceinfolist, "maintenance info ", -1, gdb_stdout);
}
while ((tok = strstr (string, substr)) != NULL)
{
- /* Got a partial match. Is it a whole word? */
+ /* Got a partial match. Is it a whole word? */
if (tok == string
|| tok[-1] == ' '
|| tok[-1] == '\t')
{
- /* Token is delimited at the front... */
+ /* Token is delimited at the front... */
if (tok[substr_len] == ' '
|| tok[substr_len] == '\t'
|| tok[substr_len] == '\0')
static void
maintenance_print_command (char *arg, int from_tty)
{
- printf_unfiltered (_("\"maintenance print\" must be followed by the name of a print command.\n"));
+ printf_unfiltered (_("\"maintenance print\" must be followed "
+ "by the name of a print command.\n"));
help_list (maintenanceprintlist, "maintenance print ", -1, gdb_stdout);
}
/* The "maintenance translate-address" command converts a section and address
to a symbol. This can be called in two ways:
maintenance translate-address <secname> <addr>
- or maintenance translate-address <addr>
- */
+ or maintenance translate-address <addr>. */
static void
maintenance_translate_address (char *arg, int from_tty)
p = arg;
if (!isdigit (*p))
- { /* See if we have a valid section name */
- while (*p && !isspace (*p)) /* Find end of section name */
+ { /* See if we have a valid section name. */
+ while (*p && !isspace (*p)) /* Find end of section name. */
p++;
- if (*p == '\000') /* End of command? */
+ if (*p == '\000') /* End of command? */
error (_("Need to specify <section-name> and <address>"));
*p++ = '\000';
while (isspace (*p))
- p++; /* Skip whitespace */
+ p++; /* Skip whitespace. */
ALL_OBJSECTIONS (objfile, sect)
{
if (sym)
{
const char *symbol_name = SYMBOL_PRINT_NAME (sym);
- const char *symbol_offset = pulongest (address - SYMBOL_VALUE_ADDRESS (sym));
+ const char *symbol_offset
+ = pulongest (address - SYMBOL_VALUE_ADDRESS (sym));
sect = SYMBOL_OBJ_SECTION(sym);
if (sect != NULL)
if (MULTI_OBJFILE_P ())
printf_filtered (_("%s + %s in section %s of %s\n"),
- symbol_name, symbol_offset, section_name, obj_name);
+ symbol_name, symbol_offset,
+ section_name, obj_name);
else
printf_filtered (_("%s + %s in section %s\n"),
symbol_name, symbol_offset, section_name);
/* When a command is deprecated the user will be warned the first time
the command is used. If possible, a replacement will be
- offered. */
+ offered. */
static void
maintenance_deprecate (char *args, int from_tty)
{
if (args == NULL || *args == '\0')
{
- printf_unfiltered (_("\"maintenance deprecate\" takes an argument, \n\
-the command you want to deprecate, and optionally the replacement command \n\
+ printf_unfiltered (_("\"maintenance deprecate\" takes an argument,\n\
+the command you want to deprecate, and optionally the replacement command\n\
enclosed in quotes.\n"));
}
}
-/* You really shouldn't be using this. It is just for the testsuite.
+/* You really shouldn't be using this. It is just for the testsuite.
Rather, you should use deprecate_cmd() when the command is created
in _initialize_blah().
if (deprecate)
{
- /* look for a replacement command */
+ /* Look for a replacement command. */
start_ptr = strchr (text, '\"');
if (start_ptr != NULL)
{
Note the MALLOCED_REPLACEMENT test. If the command's replacement
string was allocated at compile time we don't want to free the
- memory. */
+ memory. */
if (alias)
{
if (alias->flags & MALLOCED_REPLACEMENT)
cmd->flags |= MALLOCED_REPLACEMENT;
return;
}
+ xfree (replacement);
}
/* Maintenance set/show framework. */
static void
maintenance_set_cmd (char *args, int from_tty)
{
- printf_unfiltered (_("\"maintenance set\" must be followed by the name of a set command.\n"));
+ printf_unfiltered (_("\"maintenance set\" must be followed "
+ "by the name of a set command.\n"));
help_list (maintenance_set_cmdlist, "maintenance set ", -1, gdb_stdout);
}
}
static void
-maintenance_set_profile_cmd (char *args, int from_tty, struct cmd_list_element *c)
+maintenance_set_profile_cmd (char *args, int from_tty,
+ struct cmd_list_element *c)
{
if (maintenance_profile_p == profiling_state)
return;
}
#else
static void
-maintenance_set_profile_cmd (char *args, int from_tty, struct cmd_list_element *c)
+maintenance_set_profile_cmd (char *args, int from_tty,
+ struct cmd_list_element *c)
{
error (_("Profiling support is not available on this system."));
}
_("Check consistency of psymtabs and symtabs."),
&maintenancelist);
- add_cmd ("translate-address", class_maintenance, maintenance_translate_address,
+ add_cmd ("translate-address", class_maintenance,
+ maintenance_translate_address,
_("Translate a section name and address to a symbol."),
&maintenancelist);