Introduce and use make_unique_xstrdup
authorPedro Alves <palves@redhat.com>
Tue, 4 Jun 2019 21:40:54 +0000 (22:40 +0100)
committerPedro Alves <palves@redhat.com>
Tue, 4 Jun 2019 21:48:32 +0000 (22:48 +0100)
commitb02f78f9285728ce2d05ce01e7b14880f70cd6e6
tree44de7b0901c72644693ebd089dd24f6f26fa6097
parentd3238f7d90715dad7e8da2a8c2486d26124b0c84
Introduce and use make_unique_xstrdup

Adds an utility function to make it shorter to write the common case
of wrapping an xstrdup with a unique_xmalloc_ptr, and uses it
throughout.

Note: I tried to put this in common/common-utils.h near skip_spaces,
etc. but that is included in common/common-defs.h before
common/gdb_unique_ptr.h is included, so it would fail to compile
because gdb::unique_xmalloc_ptr isn't defined at that point yet.  I
tried moving the gdb_unique_ptr.h inclusion before common-utils.h, but
that doesn't work because gdb_unique_ptr.h depends on common-utils.h
for xfree.

gdb/ChangeLog:
2019-06-04  Pedro Alves  <palves@redhat.com>

* common/gdb_unique_ptr.h (make_unique_xstrdup): New.

* ada-lang.c (catch_ada_completer): Use make_unique_xstrdup.
* breakpoint.c (condition_completer): Likewise.
* cli/cli-dump.c (scan_expression): Likewise.
* common/filestuff.c (mkdir_recursive): Likewise.
* common/gdb_tilde_expand.c (gdb_tilde_expand_up)
* common/pathstuff.c (gdb_realpath, gdb_realpath_keepfile)
(gdb_abspath): Likewise.
* compile/compile-cplus-types.c
(compile_cplus_instance::decl_name): Likewise.
* completer.c (complete_explicit_location):
(signal_completer, reg_or_group_completer_1): Likewise.
* cp-support.c (cp_remove_params_if_any): Likewise.
* fbsd-tdep.c (fbsd_core_vnode_path): Likewise.
* guile/scm-safe-call.c (gdbscm_safe_eval_string): Likewise.
* infcmd.c (strip_bg_char): Likewise.
* linespec.c (copy_token_string): Likewise.
* mi/mi-main.c (output_cores): Likewise.
* psymtab.c (psymtab_search_name):
* symfile.c (test_set_ext_lang_command): Likewise.
* target.c (target_fileio_read_stralloc): Likewise.
* tui/tui-regs.c (tui_reggroup_completer): Likewise.
* value.c (complete_internalvar): Likewise.

gdb/gdbserver/ChangeLog:
2019-06-04  Pedro Alves  <palves@redhat.com>

* server.c (captured_main): Use make_unique_xstrdup.
23 files changed:
gdb/ChangeLog
gdb/ada-lang.c
gdb/breakpoint.c
gdb/cli/cli-dump.c
gdb/common/filestuff.c
gdb/common/gdb_tilde_expand.c
gdb/common/gdb_unique_ptr.h
gdb/common/pathstuff.c
gdb/compile/compile-cplus-types.c
gdb/completer.c
gdb/cp-support.c
gdb/fbsd-tdep.c
gdb/gdbserver/ChangeLog
gdb/gdbserver/server.c
gdb/guile/scm-safe-call.c
gdb/infcmd.c
gdb/linespec.c
gdb/mi/mi-main.c
gdb/psymtab.c
gdb/symfile.c
gdb/target.c
gdb/tui/tui-regs.c
gdb/value.c