aboutsummaryrefslogtreecommitdiff
path: root/gdb/printcmd.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2013-05-30 16:25:49 +0000
committerTom Tromey <tromey@redhat.com>2013-05-30 16:25:49 +0000
commit27833de78f4f6b7c96482732e3b09b5b9a370e0f (patch)
tree89683f59d972528a2815bcf31e767c99f0870998 /gdb/printcmd.c
parent5b3fca71ae2013ecb997f9d71c3fc7dfdf69936d (diff)
downloadgdb-27833de78f4f6b7c96482732e3b09b5b9a370e0f.zip
gdb-27833de78f4f6b7c96482732e3b09b5b9a370e0f.tar.gz
gdb-27833de78f4f6b7c96482732e3b09b5b9a370e0f.tar.bz2
fix print_command_1
This is a stylistic patch to make it so the checker can analyze print_command_1. This amounts to installing an outer cleanup and unconditionally invoking it. * printcmd.c (print_command_1): Unconditionally call do_cleanups.
Diffstat (limited to 'gdb/printcmd.c')
-rw-r--r--gdb/printcmd.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/gdb/printcmd.c b/gdb/printcmd.c
index 2cc33d0..7beb334 100644
--- a/gdb/printcmd.c
+++ b/gdb/printcmd.c
@@ -936,11 +936,10 @@ static void
print_command_1 (const char *exp, int voidprint)
{
struct expression *expr;
- struct cleanup *old_chain = 0;
+ struct cleanup *old_chain = make_cleanup (null_cleanup, NULL);
char format = 0;
struct value *val;
struct format_data fmt;
- int cleanup = 0;
if (exp && *exp == '/')
{
@@ -960,8 +959,7 @@ print_command_1 (const char *exp, int voidprint)
if (exp && *exp)
{
expr = parse_expression (exp);
- old_chain = make_cleanup (free_current_contents, &expr);
- cleanup = 1;
+ make_cleanup (free_current_contents, &expr);
val = evaluate_expression (expr);
}
else
@@ -996,8 +994,7 @@ print_command_1 (const char *exp, int voidprint)
annotate_value_end ();
}
- if (cleanup)
- do_cleanups (old_chain);
+ do_cleanups (old_chain);
}
static void