summaryrefslogtreecommitdiff
path: root/gdb/exceptions.c
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2013-07-01 11:22:12 +0000
committerPedro Alves <palves@redhat.com>2013-07-01 11:22:12 +0000
commit50dd979345279716cd38d11aa3b175f09b8adbdd (patch)
tree9b637990a0dc34dcd3a0a74b459148c7898c0fef /gdb/exceptions.c
parentbc7dea8de974648cd4e38d154abcca6879e630cc (diff)
Constify main.c:get_init_files.
A following patch will want to make the "gdbinit" global array const. As usual, that forces in a cascading series of const additions. This patch preemptively does those. I went all the way up to constifying catch_command_errors, but then that would require constifying execute_command as well (which is a much more significant effort). So as stop point, I found the cleanest would be to add a variant of catch_command_errors that takes const args, and use that in the few spots that needed it due to the the get_init_files constification. gdb/ 2013-07-01 Pedro Alves <palves@redhat.com> * cli/cli-cmds.c (source_script): Make 'file' parameter const. * cli/cli-cmds.h (source_script): Likewise. * exceptions.c (catch_command_errors_const): New function. * exceptions.h (catch_command_errors_const): Declare. * main.c (get_init_files): Make parameters const, and adjust. (captured_main): Make 'system_gdbinit', 'home_gdbinit' and 'local_gdbinit' locals const. Adjust to use catch_command_errors_const. (print_gdb_help): Make 'system_gdbinit', 'home_gdbinit' and 'local_gdbinit' locals const.
Diffstat (limited to 'gdb/exceptions.c')
-rw-r--r--gdb/exceptions.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/gdb/exceptions.c b/gdb/exceptions.c
index 0cdd16b75f..416d81d1fd 100644
--- a/gdb/exceptions.c
+++ b/gdb/exceptions.c
@@ -577,3 +577,19 @@ catch_command_errors (catch_command_errors_ftype *command,
return 0;
return 1;
}
+
+int
+catch_command_errors_const (catch_command_errors_const_ftype *command,
+ const char *arg, int from_tty, return_mask mask)
+{
+ volatile struct gdb_exception e;
+
+ TRY_CATCH (e, mask)
+ {
+ command (arg, from_tty);
+ }
+ print_any_exception (gdb_stderr, NULL, e);
+ if (e.reason < 0)
+ return 0;
+ return 1;
+}