diff options
author | Michael Snyder <msnyder@vmware.com> | 2010-05-14 18:35:11 +0000 |
---|---|---|
committer | Michael Snyder <msnyder@vmware.com> | 2010-05-14 18:35:11 +0000 |
commit | d7f9d729727b2b85ae3228785762f4d2e6a8742f (patch) | |
tree | 9ea7ff6c431b2a80d33908b5cb436e6545ccbcff /gdb/exceptions.c | |
parent | 9a619af0d3152e742fbd290baeae96a32f0abf04 (diff) | |
download | gdb-d7f9d729727b2b85ae3228785762f4d2e6a8742f.zip gdb-d7f9d729727b2b85ae3228785762f4d2e6a8742f.tar.gz gdb-d7f9d729727b2b85ae3228785762f4d2e6a8742f.tar.bz2 |
2010-05-14 Michael Snyder <msnyder@vmware.com>
* elfread.c: White space.
* environ.c: White space.
* eval.c: White space.
* event-loop.c: White space.
* event-top.c: White space.
* exceptions.c: White space.
* exec.c: White space.
* expprint.c: White space.
Diffstat (limited to 'gdb/exceptions.c')
-rw-r--r-- | gdb/exceptions.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gdb/exceptions.c b/gdb/exceptions.c index 444db50..ec9b9be 100644 --- a/gdb/exceptions.c +++ b/gdb/exceptions.c @@ -104,6 +104,7 @@ static void catcher_pop (void) { struct catcher *old_catcher = current_catcher; + current_catcher = old_catcher->prev; /* Restore the cleanup chain, the error/quit messages, and the uiout @@ -174,6 +175,7 @@ exceptions_state_mc (enum catcher_action action) case CATCH_ITER: { struct gdb_exception exception = *current_catcher->exception; + if (current_catcher->mask & RETURN_MASK (exception.reason)) { /* Exit normally if this catcher can handle this @@ -243,6 +245,7 @@ void deprecated_throw_reason (enum return_reason reason) { struct gdb_exception exception; + memset (&exception, 0, sizeof exception); exception.reason = reason; @@ -299,6 +302,7 @@ print_exception (struct ui_file *file, struct gdb_exception e) as that way the MI's behavior is preserved. */ const char *start; const char *end; + for (start = e.message; start != NULL; start = end) { end = strchr (start, '\n'); @@ -412,6 +416,7 @@ void throw_error (enum errors error, const char *fmt, ...) { va_list args; + va_start (args, fmt); throw_it (RETURN_ERROR, error, fmt, args); va_end (args); @@ -457,6 +462,7 @@ catch_exception (struct ui_out *uiout, return_mask mask) { volatile struct gdb_exception exception; + TRY_CATCH (exception, mask) { (*func) (uiout, func_args); @@ -473,6 +479,7 @@ catch_exceptions_with_msg (struct ui_out *uiout, { volatile struct gdb_exception exception; volatile int val = 0; + TRY_CATCH (exception, mask) { val = (*func) (uiout, func_args); @@ -505,6 +512,7 @@ catch_errors (catch_errors_ftype *func, void *func_args, char *errstring, { volatile int val = 0; volatile struct gdb_exception exception; + TRY_CATCH (exception, mask) { val = func (func_args); @@ -520,6 +528,7 @@ catch_command_errors (catch_command_errors_ftype * command, char *arg, int from_tty, return_mask mask) { volatile struct gdb_exception e; + TRY_CATCH (e, mask) { command (arg, from_tty); |