diff options
author | Tom Tromey <tromey@redhat.com> | 2013-05-30 16:25:49 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2013-05-30 16:25:49 +0000 |
commit | 27833de78f4f6b7c96482732e3b09b5b9a370e0f (patch) | |
tree | 89683f59d972528a2815bcf31e767c99f0870998 /gdb/printcmd.c | |
parent | 5b3fca71ae2013ecb997f9d71c3fc7dfdf69936d (diff) | |
download | gdb-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.c | 9 |
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 |