forked from Imagelibrary/binutils-gdb
Change openp et al to use a unique_xmalloc_ptr
This changes openp, source_full_path_of, and find_and_open_source to take a unique_xmalloc_ptr, rather than a char*, as an outgoing argument type. This simplifies the API, ownership-wise, and allows for the removal of some cleanups. gdb/ChangeLog 2018-02-14 Tom Tromey <tom@tromey.com> * symfile.c (symfile_bfd_open): Update. * source.h (openp, source_full_path_of, find_and_open_source): Change argument type to unique_xmalloc_ptr. * source.c (openp): Take a unique_xmalloc_ptr. (source_full_path_of, find_and_open_source): Likewise. (open_source_file, symtab_to_fullname): Update. * solist.h (struct target_so_ops) <find_and_open_solib>: Take a unique_xmalloc_ptr. * solib.c (solib_find_1): Use unique_xmalloc_ptr. (exec_file_find): Update. * psymtab.c (psymtab_to_fullname): Update. * nto-tdep.h (nto_find_and_open_solib): Update. * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a unique_xmalloc_ptr. * exec.c (exec_file_attach): Update. * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr. * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
This commit is contained in:
@@ -290,12 +290,10 @@ exec_file_attach (const char *filename, int from_tty)
|
||||
}
|
||||
else
|
||||
{
|
||||
char *temp_pathname;
|
||||
|
||||
scratch_chan = openp (getenv ("PATH"), OPF_TRY_CWD_FIRST,
|
||||
filename, write_files ?
|
||||
O_RDWR | O_BINARY : O_RDONLY | O_BINARY,
|
||||
&temp_pathname);
|
||||
&scratch_storage);
|
||||
#if defined(__GO32__) || defined(_WIN32) || defined(__CYGWIN__)
|
||||
if (scratch_chan < 0)
|
||||
{
|
||||
@@ -306,14 +304,13 @@ exec_file_attach (const char *filename, int from_tty)
|
||||
exename, write_files ?
|
||||
O_RDWR | O_BINARY
|
||||
: O_RDONLY | O_BINARY,
|
||||
&temp_pathname);
|
||||
&scratch_storage);
|
||||
}
|
||||
#endif
|
||||
if (scratch_chan < 0)
|
||||
perror_with_name (filename);
|
||||
|
||||
scratch_storage.reset (temp_pathname);
|
||||
scratch_pathname = temp_pathname;
|
||||
scratch_pathname = scratch_storage.get ();
|
||||
|
||||
/* gdb_bfd_open (and its variants) prefers canonicalized
|
||||
pathname for better BFD caching. */
|
||||
|
||||
Reference in New Issue
Block a user