diff options
author | Andrew Cagney <cagney@redhat.com> | 2005-01-16 21:20:06 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2005-01-16 21:20:06 +0000 |
commit | 17d92a02195a3dc9d3d3b6d46b22cb187eeccd19 (patch) | |
tree | bbcbf99ae0d66e7176859a9ba9efa697c53f4b82 /gdb/exceptions.c | |
parent | ae03635710dcd5a17dbe0fbf3971d079281eeede (diff) | |
download | gdb-17d92a02195a3dc9d3d3b6d46b22cb187eeccd19.zip gdb-17d92a02195a3dc9d3d3b6d46b22cb187eeccd19.tar.gz gdb-17d92a02195a3dc9d3d3b6d46b22cb187eeccd19.tar.bz2 |
2005-01-16 Andrew Cagney <cagney@gnu.org>
* 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 <cagney@gnu.org>
* gdb.base/source.exp: Delete KFAIL gdb/1846, simplify.
Diffstat (limited to 'gdb/exceptions.c')
-rw-r--r-- | gdb/exceptions.c | 7 |
1 files changed, 5 insertions, 2 deletions
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; |