aboutsummaryrefslogtreecommitdiff
path: root/gdb/source.h
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2017-11-10 13:47:05 -0700
committerTom Tromey <tom@tromey.com>2018-02-14 08:09:53 -0700
commite0cc99a62f9ceb9a0db0b5bc28711fd8c82a6151 (patch)
tree4401d76103521d42ed82b58cf22eb6fe77abdbf2 /gdb/source.h
parentb46a8d7c1d50c06e641af99b58301db0499111b9 (diff)
downloadgdb-e0cc99a62f9ceb9a0db0b5bc28711fd8c82a6151.zip
gdb-e0cc99a62f9ceb9a0db0b5bc28711fd8c82a6151.tar.gz
gdb-e0cc99a62f9ceb9a0db0b5bc28711fd8c82a6151.tar.bz2
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.
Diffstat (limited to 'gdb/source.h')
-rw-r--r--gdb/source.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/gdb/source.h b/gdb/source.h
index a21e919..a876950 100644
--- a/gdb/source.h
+++ b/gdb/source.h
@@ -32,9 +32,10 @@ enum openp_flag
DEF_ENUM_FLAGS_TYPE(openp_flag, openp_flags);
-extern int openp (const char *, openp_flags, const char *, int, char **);
+extern int openp (const char *, openp_flags, const char *, int,
+ gdb::unique_xmalloc_ptr<char> *);
-extern int source_full_path_of (const char *, char **);
+extern int source_full_path_of (const char *, gdb::unique_xmalloc_ptr<char> *);
extern void mod_path (const char *, char **);
@@ -67,7 +68,7 @@ extern void init_source_path (void);
FULLNAME is set to NULL. */
extern int find_and_open_source (const char *filename,
const char *dirname,
- char **fullname);
+ gdb::unique_xmalloc_ptr<char> *fullname);
/* Open a source file given a symtab S. Returns a file descriptor or
negative number for error. */