aboutsummaryrefslogtreecommitdiff
path: root/gdb/cli
diff options
context:
space:
mode:
authorJim Blandy <jimb@codesourcery.com>2003-12-22 03:43:19 +0000
committerJim Blandy <jimb@codesourcery.com>2003-12-22 03:43:19 +0000
commit6c50ab1c7f10edd00861cdfaf626b92d1caf3665 (patch)
treedc71703d4a6a3cbcd3b14f407ea730d58de873ea /gdb/cli
parentc196818164ac5958e4fe55f652b780bdffe838d8 (diff)
downloadgdb-6c50ab1c7f10edd00861cdfaf626b92d1caf3665.zip
gdb-6c50ab1c7f10edd00861cdfaf626b92d1caf3665.tar.gz
gdb-6c50ab1c7f10edd00861cdfaf626b92d1caf3665.tar.bz2
* breakpoint.c (bpstat_do_actions): To ensure that
clear_proceed_status doesn't free the command tree we're evaluating out from under us, zero the bpstat's pointer to it, and take care of freeing it ourselves. * cli/cli-script.c (make_cleanup_free_command_lines): Make this function externally visible. * cli/cli-script.h (make_cleanup_free_command_lines): New declaration.
Diffstat (limited to 'gdb/cli')
-rw-r--r--gdb/cli/cli-script.c5
-rw-r--r--gdb/cli/cli-script.h2
2 files changed, 3 insertions, 4 deletions
diff --git a/gdb/cli/cli-script.c b/gdb/cli/cli-script.c
index cac5408..a8375a3 100644
--- a/gdb/cli/cli-script.c
+++ b/gdb/cli/cli-script.c
@@ -36,9 +36,6 @@
/* Prototypes for local functions */
-static struct cleanup *
- make_cleanup_free_command_lines (struct command_line **arg);
-
static enum command_control_type
recurse_read_control_structure (struct command_line *current_cmd);
@@ -1001,7 +998,7 @@ do_free_command_lines_cleanup (void *arg)
free_command_lines (arg);
}
-static struct cleanup *
+struct cleanup *
make_cleanup_free_command_lines (struct command_line **arg)
{
return make_cleanup (do_free_command_lines_cleanup, arg);
diff --git a/gdb/cli/cli-script.h b/gdb/cli/cli-script.h
index 03cb841..fc5c203 100644
--- a/gdb/cli/cli-script.h
+++ b/gdb/cli/cli-script.h
@@ -47,6 +47,8 @@ extern void print_command_lines (struct ui_out *,
extern struct command_line * copy_command_lines (struct command_line *cmds);
+struct cleanup *make_cleanup_free_command_lines (struct command_line **arg);
+
/* Exported to gdb/infrun.c */
extern void execute_user_command (struct cmd_list_element *c, char *args);