diff options
author | Tom Tromey <tom@tromey.com> | 2017-10-12 16:48:35 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2017-10-16 16:10:21 -0600 |
commit | b7b030adc405017f01e996a90f85e40730ef8397 (patch) | |
tree | 5d6fdf82c43f719834633295cbcde80f75d5663d /gdb/xml-syscall.c | |
parent | b80406accc70791a1789e40f24d64161bc41de34 (diff) | |
download | gdb-b7b030adc405017f01e996a90f85e40730ef8397.zip gdb-b7b030adc405017f01e996a90f85e40730ef8397.tar.gz gdb-b7b030adc405017f01e996a90f85e40730ef8397.tar.bz2 |
Return unique_xmalloc_ptr from target_read_stralloc
This changes target_read_stralloc to return a unique_xmalloc_ptr, and
then fixes all the callers. unique_xmalloc_ptr is used, rather than
std::string, because target_read_stralloc gives a special meaning to a
NULL return.
ChangeLog
2017-10-16 Tom Tromey <tom@tromey.com>
* xml-syscall.c (xml_init_syscalls_info): Update.
* xml-support.c (xinclude_start_include): Update.
(xml_fetch_content_from_file): Return unique_xmalloc_ptr.
* xml-support.h (xml_fetch_another): Return unique_xmalloc_ptr.
(xml_fetch_content_from_file): Likewise.
* osdata.c (get_osdata): Update.
* target.h (target_read_stralloc, target_get_osdata): Return
unique_xmalloc_ptr.
* solib-aix.c (solib_aix_get_library_list): Update.
* solib-target.c (solib_target_current_sos): Update.
* solib-svr4.c (svr4_current_sos_via_xfer_libraries): Update.
* xml-tdesc.c (fetch_available_features_from_target): Update.
(target_fetch_description_xml): Update.
(file_read_description_xml): Update.
* remote.c (remote_get_threads_with_qxfer, remote_memory_map)
(remote_traceframe_info, btrace_read_config, remote_read_btrace)
(remote_pid_to_exec_file): Update.
* target.c (target_read_stralloc): Return unique_xmalloc_ptr.
(target_get_osdata): Likewise.
Diffstat (limited to 'gdb/xml-syscall.c')
-rw-r--r-- | gdb/xml-syscall.c | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/gdb/xml-syscall.c b/gdb/xml-syscall.c index a436418..fe036cb 100644 --- a/gdb/xml-syscall.c +++ b/gdb/xml-syscall.c @@ -362,22 +362,14 @@ syscall_parse_xml (const char *document, xml_fetch_another fetcher, static struct syscalls_info * xml_init_syscalls_info (const char *filename) { - char *full_file; - struct syscalls_info *syscalls_info; - struct cleanup *back_to; - - full_file = xml_fetch_content_from_file (filename, gdb_datadir); + gdb::unique_xmalloc_ptr<char> full_file + = xml_fetch_content_from_file (filename, gdb_datadir); if (full_file == NULL) return NULL; - back_to = make_cleanup (xfree, full_file); - - syscalls_info = syscall_parse_xml (full_file, - xml_fetch_content_from_file, - (void *) ldirname (filename).c_str ()); - do_cleanups (back_to); - - return syscalls_info; + return syscall_parse_xml (full_file.get (), + xml_fetch_content_from_file, + (void *) ldirname (filename).c_str ()); } /* Initializes the syscalls_info structure according to the |