diff options
author | Tom Tromey <tom@tromey.com> | 2019-04-21 12:48:39 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2019-05-08 16:01:50 -0600 |
commit | 7b4a314f8b9b50c2289ca6b5d21513052c48730b (patch) | |
tree | 0b0e8a2545f794b23daf2844a090d6b5fd8694b7 /gdb/remote.c | |
parent | 51d3063a35fad1fa0cd53c167bb5a4325afeea16 (diff) | |
download | gdb-7b4a314f8b9b50c2289ca6b5d21513052c48730b.zip gdb-7b4a314f8b9b50c2289ca6b5d21513052c48730b.tar.gz gdb-7b4a314f8b9b50c2289ca6b5d21513052c48730b.tar.bz2 |
Convert remote.c to type-safe registry API
This changes remote.c to use the type-safe registry API.
gdb/ChangeLog
2019-05-08 Tom Tromey <tom@tromey.com>
* remote.c (remote_pspace_data): Change type.
(remote_pspace_data_cleanup): Remove.
(get_remote_exec_file, set_pspace_remote_exec_file)
(_initialize_remote): Update.
Diffstat (limited to 'gdb/remote.c')
-rw-r--r-- | gdb/remote.c | 28 |
1 files changed, 6 insertions, 22 deletions
diff --git a/gdb/remote.c b/gdb/remote.c index 81e6427..dc73472 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -969,7 +969,8 @@ public: }; /* Per-program-space data key. */ -static const struct program_space_data *remote_pspace_data; +static const struct program_space_key<char, gdb::xfree_deleter<char>> + remote_pspace_data; /* The variable registered as the control variable used by the remote exec-file commands. While the remote exec-file setting is @@ -1229,16 +1230,6 @@ remote_target::get_remote_state () return &m_remote_state; } -/* Cleanup routine for the remote module's pspace data. */ - -static void -remote_pspace_data_cleanup (struct program_space *pspace, void *arg) -{ - char *remote_exec_file = (char *) arg; - - xfree (remote_exec_file); -} - /* Fetch the remote exec-file from the current program space. */ static const char * @@ -1246,9 +1237,7 @@ get_remote_exec_file (void) { char *remote_exec_file; - remote_exec_file - = (char *) program_space_data (current_program_space, - remote_pspace_data); + remote_exec_file = remote_pspace_data.get (current_program_space); if (remote_exec_file == NULL) return ""; @@ -1259,13 +1248,12 @@ get_remote_exec_file (void) static void set_pspace_remote_exec_file (struct program_space *pspace, - char *remote_exec_file) + const char *remote_exec_file) { - char *old_file = (char *) program_space_data (pspace, remote_pspace_data); + char *old_file = remote_pspace_data.get (pspace); xfree (old_file); - set_program_space_data (pspace, remote_pspace_data, - xstrdup (remote_exec_file)); + remote_pspace_data.set (pspace, xstrdup (remote_exec_file)); } /* The "set/show remote exec-file" set command hook. */ @@ -14277,10 +14265,6 @@ _initialize_remote (void) remote_g_packet_data_handle = gdbarch_data_register_pre_init (remote_g_packet_data_init); - remote_pspace_data - = register_program_space_data_with_cleanup (NULL, - remote_pspace_data_cleanup); - add_target (remote_target_info, remote_target::open); add_target (extended_remote_target_info, extended_remote_target::open); |