diff options
author | Simon Marchi <simon.marchi@ericsson.com> | 2018-08-07 17:43:08 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@ericsson.com> | 2018-08-07 17:43:08 -0400 |
commit | 528e15722bf67d126e17218708c0314bcfadbf6a (patch) | |
tree | 8b17bb0ea9569e150917b27be97b3ecfdc96fe62 /gdb/common | |
parent | 96d68bd48c77fa44e517c3380ee8f224cbce00e5 (diff) | |
download | gdb-528e15722bf67d126e17218708c0314bcfadbf6a.zip gdb-528e15722bf67d126e17218708c0314bcfadbf6a.tar.gz gdb-528e15722bf67d126e17218708c0314bcfadbf6a.tar.bz2 |
Replace some uses of xstrprintf with string_printf
This patch replaces some simple uses of xstrprintf with with
string_printf, removing the need to do manual memory freeing.
The change in ada-lang.c fixes an apparent memory leak.
Regtested on the buildbot.
gdb/ChangeLog:
* common/filestuff.h (gdb_fopen_cloexec): New overload.
(gdb_open_cloexec): Likewise.
* nat/linux-osdata.c (command_from_pid): Use string_printf.
(commandline_from_pid): Likewise.
(linux_xfer_osdata_threads): Likewise.
(linux_xfer_osdata_fds): Likewise.
* ada-lang.c (is_package_name): Likewise.
* auxv.c (procfs_xfer_auxv): Likewise.
* breakpoint.c (print_one_breakpoint_location): Use
uiout::field_fmt.
(print_one_catch_solib): Use string_printf.
* coff-pe-read.c (add_pe_exported_sym): Likewise.
(add_pe_forwarded_sym): Likewise.
* dwarf2read.c (create_type_unit_group): Likewise.
(build_error_marker_type): Likewise.
* infcall.c (get_function_name): Likewise.
* valprint.c (print_converted_chars_to_obstack): Likewise.
* xtensa-tdep.c (xtensa_register_type): Likewise.
Diffstat (limited to 'gdb/common')
-rw-r--r-- | gdb/common/filestuff.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gdb/common/filestuff.h b/gdb/common/filestuff.h index 0e46eb5..1a09c72 100644 --- a/gdb/common/filestuff.h +++ b/gdb/common/filestuff.h @@ -48,6 +48,16 @@ extern void close_most_fds (void); extern int gdb_open_cloexec (const char *filename, int flags, /* mode_t */ unsigned long mode); +/* Convenience wrapper for the above, which takes the filename as an + std::string. */ + +static inline int +gdb_open_cloexec (const std::string &filename, int flags, + /* mode_t */ unsigned long mode) +{ + return gdb_open_cloexec (filename.c_str (), flags, mode); +} + struct gdb_file_deleter { void operator() (FILE *file) const @@ -66,6 +76,15 @@ typedef std::unique_ptr<FILE, gdb_file_deleter> gdb_file_up; extern gdb_file_up gdb_fopen_cloexec (const char *filename, const char *opentype); +/* Convenience wrapper for the above, which takes the filename as an + std::string. */ + +static inline gdb_file_up +gdb_fopen_cloexec (const std::string &filename, const char *opentype) +{ + return gdb_fopen_cloexec (filename.c_str (), opentype); +} + /* Like 'socketpair', but ensures that the returned file descriptors have the close-on-exec flag set. */ |