From 17d92a02195a3dc9d3d3b6d46b22cb187eeccd19 Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Sun, 16 Jan 2005 21:20:06 +0000 Subject: 2005-01-16 Andrew Cagney * cli/cli-script.c: Include "exceptions.h". (struct wrapped_read_command_file_args): Define. (wrapped_read_command_file): New function. (script_from_file): Replace direct call to read_command_file by one wrapped by an exception handler. * exceptions.c (throw_it): Free the old message after creating the new. * Makefile.in: Update dependencies. Index: testsuite/ChangeLog 2005-01-16 Andrew Cagney * gdb.base/source.exp: Delete KFAIL gdb/1846, simplify. --- gdb/exceptions.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'gdb/exceptions.c') diff --git a/gdb/exceptions.c b/gdb/exceptions.c index d95c58a..e640b5f 100644 --- a/gdb/exceptions.c +++ b/gdb/exceptions.c @@ -360,10 +360,13 @@ throw_it (enum return_reason reason, enum errors error, const char *fmt, va_list ap) { struct exception e; + char *new_message; - /* Save the message. */ + /* Save the message. Create the new message before deleting the + old, the new message may include the old message text. */ + new_message = xstrvprintf (fmt, ap); xfree (last_message); - last_message = xstrvprintf (fmt, ap); + last_message = new_message; /* Create the exception. */ e.reason = reason; -- cgit v1.1