mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-19 00:59:15 +08:00
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.
This commit is contained in:
@ -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
|
||||
|
Reference in New Issue
Block a user