From: Tom Tromey Date: Thu, 30 May 2013 16:25:49 +0000 (+0000) Subject: fix print_command_1 X-Git-Url: http://git.efficios.com/?a=commitdiff_plain;h=27833de78f4f6b7c96482732e3b09b5b9a370e0f;p=deliverable%2Fbinutils-gdb.git 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. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index e608b0a857..86c63690db 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2013-05-30 Tom Tromey + + * printcmd.c (print_command_1): Unconditionally call do_cleanups. + 2013-05-30 Tom Tromey * cli/cli-cmds.c (cd_command, alias_command): Call do_cleanups. diff --git a/gdb/printcmd.c b/gdb/printcmd.c index 2cc33d04df..7beb334c5e 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