Make free_current_contents more robust. Use in MI.
This commit is contained in:
parent
56e290f494
commit
e2f9c47491
4 changed files with 16 additions and 10 deletions
|
@ -1,3 +1,7 @@
|
||||||
|
Tue May 16 14:17:20 2000 Andrew Cagney <cagney@b1.cygnus.com>
|
||||||
|
|
||||||
|
* utils.c (free_current_contents): Make more robust.
|
||||||
|
|
||||||
Tue May 16 13:30:08 2000 Andrew Cagney <cagney@b1.cygnus.com>
|
Tue May 16 13:30:08 2000 Andrew Cagney <cagney@b1.cygnus.com>
|
||||||
|
|
||||||
* symtab.h (make_cleanup_discard_minimal_symbols): Replace
|
* symtab.h (make_cleanup_discard_minimal_symbols): Replace
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
Tue May 16 14:13:41 2000 Andrew Cagney <cagney@b1.cygnus.com>
|
||||||
|
|
||||||
|
* mi-main.c (mi_cmd_execute): Use free_current_contents.
|
||||||
|
(free_and_reset): Delete.
|
||||||
|
|
||||||
Mon May 15 16:17:56 2000 Andrew Cagney <cagney@b1.cygnus.com>
|
Mon May 15 16:17:56 2000 Andrew Cagney <cagney@b1.cygnus.com>
|
||||||
|
|
||||||
* mi-main.c (mi_cmd_data_assign, mi_cmd_data_evaluate_expression),
|
* mi-main.c (mi_cmd_data_assign, mi_cmd_data_evaluate_expression),
|
||||||
|
|
|
@ -70,7 +70,6 @@ static enum mi_cmd_result mi_execute_async_cli_command (char *mi, char *args, in
|
||||||
static void mi_execute_command_wrapper (char *cmd);
|
static void mi_execute_command_wrapper (char *cmd);
|
||||||
|
|
||||||
void mi_exec_async_cli_cmd_continuation (struct continuation_arg *arg);
|
void mi_exec_async_cli_cmd_continuation (struct continuation_arg *arg);
|
||||||
static void free_and_reset (char **arg);
|
|
||||||
|
|
||||||
static int register_changed_p (int regnum);
|
static int register_changed_p (int regnum);
|
||||||
static int get_register (int regnum, int format);
|
static int get_register (int regnum, int format);
|
||||||
|
@ -1199,7 +1198,7 @@ mi_cmd_execute (struct mi_parse *parse)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
last_async_command = xstrdup (parse->token);
|
last_async_command = xstrdup (parse->token);
|
||||||
make_exec_cleanup ((make_cleanup_func) free_and_reset, &last_async_command);
|
make_exec_cleanup (free_current_contents, &last_async_command);
|
||||||
/* FIXME: DELETE THIS! */
|
/* FIXME: DELETE THIS! */
|
||||||
if (parse->cmd->args_func != NULL)
|
if (parse->cmd->args_func != NULL)
|
||||||
return parse->cmd->args_func (parse->args, 0 /*from_tty */ );
|
return parse->cmd->args_func (parse->args, 0 /*from_tty */ );
|
||||||
|
@ -1226,13 +1225,6 @@ mi_cmd_execute (struct mi_parse *parse)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
free_and_reset (char **arg)
|
|
||||||
{
|
|
||||||
free (*arg);
|
|
||||||
*arg = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
mi_execute_command_wrapper (char *cmd)
|
mi_execute_command_wrapper (char *cmd)
|
||||||
{
|
{
|
||||||
|
|
|
@ -390,8 +390,13 @@ void
|
||||||
free_current_contents (void *ptr)
|
free_current_contents (void *ptr)
|
||||||
{
|
{
|
||||||
void **location = ptr;
|
void **location = ptr;
|
||||||
|
if (location == NULL)
|
||||||
|
internal_error ("free_current_contents: NULL pointer");
|
||||||
if (*location != NULL)
|
if (*location != NULL)
|
||||||
|
{
|
||||||
free (*location);
|
free (*location);
|
||||||
|
*location = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Provide a known function that does nothing, to use as a base for
|
/* Provide a known function that does nothing, to use as a base for
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue