summaryrefslogtreecommitdiff
path: root/gdb/interps.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2013-05-30 16:24:35 +0000
committerTom Tromey <tromey@redhat.com>2013-05-30 16:24:35 +0000
commitfcf3be2b715c1defb0e199ac01be903d301372a8 (patch)
treedb6dc7106bda5c0dce6b8c278012b821f4fcc4c2 /gdb/interps.c
parent0a35c53f8ae0814dddc3a45fc48564945c314a2c (diff)
downloadgdb-fcf3be2b715c1defb0e199ac01be903d301372a8.tar.gz
some cleanup checker fixes
Fix some bugs pointed out by the cleanup checker. This one just fixes some simple CLI reports, where CLI commands know that their caller will do cleanups. This an older style with few instances, so it is simpler to fix them up than to teach the checker about it. * cli/cli-cmds.c (cd_command, alias_command): Call do_cleanups. * cli/cli-dump.c (restore_binary_file): Call do_cleanups. * interps.c (interpreter_exec_cmd): Call do_cleanups. * source.c (show_substitute_path_command): Call do_cleanups. (unset_substitute_path_command, set_substitute_path_command): Likewise. * symfile.c (load_command): Call do_cleanups.
Diffstat (limited to 'gdb/interps.c')
-rw-r--r--gdb/interps.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gdb/interps.c b/gdb/interps.c
index bd23118227e..25500d6e835 100644
--- a/gdb/interps.c
+++ b/gdb/interps.c
@@ -409,12 +409,13 @@ interpreter_exec_cmd (char *args, int from_tty)
unsigned int nrules;
unsigned int i;
int old_quiet, use_quiet;
+ struct cleanup *cleanup;
if (args == NULL)
error_no_arg (_("interpreter-exec command"));
prules = gdb_buildargv (args);
- make_cleanup_freeargv (prules);
+ cleanup = make_cleanup_freeargv (prules);
nrules = 0;
for (trule = prules; *trule != NULL; trule++)
@@ -452,6 +453,8 @@ interpreter_exec_cmd (char *args, int from_tty)
interp_set (old_interp, 0);
interp_set_quiet (interp_to_use, use_quiet);
interp_set_quiet (old_interp, old_quiet);
+
+ do_cleanups (cleanup);
}
/* List the possible interpreters which could complete the given text. */