mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-11-16 12:34:43 +00:00
gdb: add gdb_rl_tilde_expand util
Add gdb_rl_tilde_expand, a wrapper around readline's tilde_expand that
returns a gdb::unique_xmalloc_ptr<char>. Change all callers of
tilde_expand to use gdb_rl_tilde_expand (even the couple of spots that
release it immediatly, for consistency). This simplifies a few callers.
The name gdb_tilde_expand is already taken by a home-made implementation
in gdbsupport/gdb_tilde_expand.{h.cc}. I wonder if we could just use
that one instead of readline's tilde_expand, but that's an orthogonal
question. I don't know how they differ, and I don't want to introduce
behavior changes in this patch.
Change-Id: I6d34eef19f86473226df4ae56d07dc01912e3131
Approved-By: Tom Tromey <tom@tromey.com>
This commit is contained in:
@@ -30,7 +30,6 @@
|
|||||||
#include "cli/cli-cmds.h"
|
#include "cli/cli-cmds.h"
|
||||||
#include "cli/cli-decode.h"
|
#include "cli/cli-decode.h"
|
||||||
#include "cli/cli-setshow.h"
|
#include "cli/cli-setshow.h"
|
||||||
#include "readline/tilde.h"
|
|
||||||
#include "completer.h"
|
#include "completer.h"
|
||||||
#include "fnmatch.h"
|
#include "fnmatch.h"
|
||||||
#include "top.h"
|
#include "top.h"
|
||||||
@@ -269,7 +268,8 @@ auto_load_safe_path_vec_update (void)
|
|||||||
for (size_t i = 0; i < len; i++)
|
for (size_t i = 0; i < len; i++)
|
||||||
{
|
{
|
||||||
gdb::unique_xmalloc_ptr<char> &in_vec = auto_load_safe_path_vec[i];
|
gdb::unique_xmalloc_ptr<char> &in_vec = auto_load_safe_path_vec[i];
|
||||||
gdb::unique_xmalloc_ptr<char> expanded (tilde_expand (in_vec.get ()));
|
gdb::unique_xmalloc_ptr<char> expanded
|
||||||
|
= gdb_rl_tilde_expand (in_vec.get ());
|
||||||
gdb::unique_xmalloc_ptr<char> real_path = gdb_realpath (expanded.get ());
|
gdb::unique_xmalloc_ptr<char> real_path = gdb_realpath (expanded.get ());
|
||||||
|
|
||||||
/* Ensure the current entry is at least tilde_expand-ed. ORIGINAL makes
|
/* Ensure the current entry is at least tilde_expand-ed. ORIGINAL makes
|
||||||
|
|||||||
@@ -70,9 +70,6 @@
|
|||||||
#include "cli/cli-decode.h"
|
#include "cli/cli-decode.h"
|
||||||
#include "break-cond-parse.h"
|
#include "break-cond-parse.h"
|
||||||
|
|
||||||
/* readline include files */
|
|
||||||
#include "readline/tilde.h"
|
|
||||||
|
|
||||||
/* readline defines this. */
|
/* readline defines this. */
|
||||||
#undef savestring
|
#undef savestring
|
||||||
|
|
||||||
@@ -14522,7 +14519,8 @@ save_breakpoints (const char *filename, int from_tty,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
gdb::unique_xmalloc_ptr<char> expanded_filename (tilde_expand (filename));
|
gdb::unique_xmalloc_ptr<char> expanded_filename
|
||||||
|
= gdb_rl_tilde_expand (filename);
|
||||||
|
|
||||||
stdio_file fp;
|
stdio_file fp;
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,6 @@
|
|||||||
|
|
||||||
#include "arch-utils.h"
|
#include "arch-utils.h"
|
||||||
#include "exceptions.h"
|
#include "exceptions.h"
|
||||||
#include "readline/tilde.h"
|
|
||||||
#include "completer.h"
|
#include "completer.h"
|
||||||
#include "target.h"
|
#include "target.h"
|
||||||
#include "gdbsupport/gdb_wait.h"
|
#include "gdbsupport/gdb_wait.h"
|
||||||
@@ -520,7 +519,7 @@ cd_command (const char *dir, int from_tty)
|
|||||||
dont_repeat ();
|
dont_repeat ();
|
||||||
|
|
||||||
gdb::unique_xmalloc_ptr<char> dir_holder
|
gdb::unique_xmalloc_ptr<char> dir_holder
|
||||||
(tilde_expand (dir != NULL ? dir : "~"));
|
= gdb_rl_tilde_expand (dir != NULL ? dir : "~");
|
||||||
dir = dir_holder.get ();
|
dir = dir_holder.get ();
|
||||||
|
|
||||||
if (chdir (dir) < 0)
|
if (chdir (dir) < 0)
|
||||||
@@ -638,7 +637,8 @@ find_and_open_script (const char *script_file, int search_path)
|
|||||||
openp_flags search_flags = OPF_TRY_CWD_FIRST | OPF_RETURN_REALPATH;
|
openp_flags search_flags = OPF_TRY_CWD_FIRST | OPF_RETURN_REALPATH;
|
||||||
std::optional<open_script> opened;
|
std::optional<open_script> opened;
|
||||||
|
|
||||||
gdb::unique_xmalloc_ptr<char> file (tilde_expand (script_file));
|
gdb::unique_xmalloc_ptr<char> file
|
||||||
|
= gdb_rl_tilde_expand (script_file);
|
||||||
|
|
||||||
if (search_path)
|
if (search_path)
|
||||||
search_flags |= OPF_SEARCH_IN_PATH;
|
search_flags |= OPF_SEARCH_IN_PATH;
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
#include "value.h"
|
#include "value.h"
|
||||||
#include "completer.h"
|
#include "completer.h"
|
||||||
#include "target.h"
|
#include "target.h"
|
||||||
#include "readline/tilde.h"
|
|
||||||
#include "gdbcore.h"
|
#include "gdbcore.h"
|
||||||
#include "cli/cli-utils.h"
|
#include "cli/cli-utils.h"
|
||||||
#include "gdb_bfd.h"
|
#include "gdb_bfd.h"
|
||||||
@@ -77,7 +76,7 @@ scan_filename (const char **cmd, const char *defname)
|
|||||||
}
|
}
|
||||||
gdb_assert (filename != NULL);
|
gdb_assert (filename != NULL);
|
||||||
|
|
||||||
return gdb::unique_xmalloc_ptr<char> (tilde_expand (filename.get ()));
|
return gdb_rl_tilde_expand (filename.get ());
|
||||||
}
|
}
|
||||||
|
|
||||||
static gdb_bfd_ref_ptr
|
static gdb_bfd_ref_ptr
|
||||||
|
|||||||
@@ -15,7 +15,6 @@
|
|||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
#include "readline/tilde.h"
|
|
||||||
#include "value.h"
|
#include "value.h"
|
||||||
#include "arch-utils.h"
|
#include "arch-utils.h"
|
||||||
#include "observable.h"
|
#include "observable.h"
|
||||||
@@ -385,7 +384,7 @@ do_set_command (const char *arg, int from_tty, struct cmd_list_element *c)
|
|||||||
[[fallthrough]];
|
[[fallthrough]];
|
||||||
case var_optional_filename:
|
case var_optional_filename:
|
||||||
{
|
{
|
||||||
char *val = NULL;
|
gdb::unique_xmalloc_ptr<char> val;
|
||||||
|
|
||||||
if (*arg != '\0')
|
if (*arg != '\0')
|
||||||
{
|
{
|
||||||
@@ -397,14 +396,13 @@ do_set_command (const char *arg, int from_tty, struct cmd_list_element *c)
|
|||||||
gdb::unique_xmalloc_ptr<char> copy
|
gdb::unique_xmalloc_ptr<char> copy
|
||||||
= make_unique_xstrndup (arg, ptr + 1 - arg);
|
= make_unique_xstrndup (arg, ptr + 1 - arg);
|
||||||
|
|
||||||
val = tilde_expand (copy.get ());
|
val = gdb_rl_tilde_expand (copy.get ());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
val = xstrdup ("");
|
val = make_unique_xstrdup ("");
|
||||||
|
|
||||||
option_changed
|
option_changed
|
||||||
= c->var->set<std::string> (std::string (val));
|
= c->var->set<std::string> (std::string (val.get ()));
|
||||||
xfree (val);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case var_boolean:
|
case var_boolean:
|
||||||
|
|||||||
@@ -22,7 +22,6 @@
|
|||||||
#include "command.h"
|
#include "command.h"
|
||||||
#include "objfiles.h"
|
#include "objfiles.h"
|
||||||
#include "gdbcore.h"
|
#include "gdbcore.h"
|
||||||
#include "readline/tilde.h"
|
|
||||||
#include "bfdlink.h"
|
#include "bfdlink.h"
|
||||||
#include "cli/cli-cmds.h"
|
#include "cli/cli-cmds.h"
|
||||||
#include "regcache.h"
|
#include "regcache.h"
|
||||||
@@ -613,7 +612,7 @@ compile_object_load (const compile_file_names &file_names,
|
|||||||
struct type *expect_return_type;
|
struct type *expect_return_type;
|
||||||
|
|
||||||
gdb::unique_xmalloc_ptr<char> filename
|
gdb::unique_xmalloc_ptr<char> filename
|
||||||
(tilde_expand (file_names.object_file ()));
|
= gdb_rl_tilde_expand (file_names.object_file ());
|
||||||
|
|
||||||
gdb_bfd_ref_ptr abfd (gdb_bfd_open (filename.get (), gnutarget));
|
gdb_bfd_ref_ptr abfd (gdb_bfd_open (filename.get (), gnutarget));
|
||||||
if (abfd == NULL)
|
if (abfd == NULL)
|
||||||
|
|||||||
@@ -3183,7 +3183,7 @@ gdb_print_filename (char *to_print, char *full_pathname, int prefix_bytes,
|
|||||||
const struct match_list_displayer *displayer)
|
const struct match_list_displayer *displayer)
|
||||||
{
|
{
|
||||||
int printed_len, extension_char, slen, tlen;
|
int printed_len, extension_char, slen, tlen;
|
||||||
char *s, c, *new_full_pathname;
|
char c, *new_full_pathname;
|
||||||
const char *dn;
|
const char *dn;
|
||||||
extern int _rl_complete_mark_directories;
|
extern int _rl_complete_mark_directories;
|
||||||
|
|
||||||
@@ -3220,7 +3220,7 @@ gdb_print_filename (char *to_print, char *full_pathname, int prefix_bytes,
|
|||||||
dn = "/"; /* don't turn /// into // */
|
dn = "/"; /* don't turn /// into // */
|
||||||
else
|
else
|
||||||
dn = full_pathname;
|
dn = full_pathname;
|
||||||
s = tilde_expand (dn);
|
char *s = gdb_rl_tilde_expand (dn).release ();
|
||||||
if (rl_directory_completion_hook)
|
if (rl_directory_completion_hook)
|
||||||
(*rl_directory_completion_hook) (&s);
|
(*rl_directory_completion_hook) (&s);
|
||||||
|
|
||||||
@@ -3245,20 +3245,22 @@ gdb_print_filename (char *to_print, char *full_pathname, int prefix_bytes,
|
|||||||
|
|
||||||
xfree (new_full_pathname);
|
xfree (new_full_pathname);
|
||||||
to_print[-1] = c;
|
to_print[-1] = c;
|
||||||
|
|
||||||
|
xfree (s);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
s = tilde_expand (full_pathname);
|
gdb::unique_xmalloc_ptr<char> s
|
||||||
|
= gdb_rl_tilde_expand (full_pathname);
|
||||||
#if defined (VISIBLE_STATS)
|
#if defined (VISIBLE_STATS)
|
||||||
if (rl_visible_stats)
|
if (rl_visible_stats)
|
||||||
extension_char = stat_char (s);
|
extension_char = stat_char (s);
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
if (gdb_path_isdir (s))
|
if (gdb_path_isdir (s.get ()))
|
||||||
extension_char = '/';
|
extension_char = '/';
|
||||||
}
|
}
|
||||||
|
|
||||||
xfree (s);
|
|
||||||
if (extension_char)
|
if (extension_char)
|
||||||
{
|
{
|
||||||
displayer->putch (displayer, extension_char);
|
displayer->putch (displayer, extension_char);
|
||||||
|
|||||||
@@ -35,7 +35,6 @@
|
|||||||
#include "regset.h"
|
#include "regset.h"
|
||||||
#include "symfile.h"
|
#include "symfile.h"
|
||||||
#include "exec.h"
|
#include "exec.h"
|
||||||
#include "readline/tilde.h"
|
|
||||||
#include "solib.h"
|
#include "solib.h"
|
||||||
#include "filenames.h"
|
#include "filenames.h"
|
||||||
#include "progspace.h"
|
#include "progspace.h"
|
||||||
|
|||||||
@@ -39,7 +39,6 @@
|
|||||||
#include "build-id.h"
|
#include "build-id.h"
|
||||||
|
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include "readline/tilde.h"
|
|
||||||
#include "gdbcore.h"
|
#include "gdbcore.h"
|
||||||
|
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
@@ -558,7 +557,8 @@ exec_file_command (const char *args, int from_tty)
|
|||||||
if (*argv == NULL)
|
if (*argv == NULL)
|
||||||
error (_("No executable file name was specified"));
|
error (_("No executable file name was specified"));
|
||||||
|
|
||||||
gdb::unique_xmalloc_ptr<char> filename (tilde_expand (*argv));
|
gdb::unique_xmalloc_ptr<char> filename
|
||||||
|
= gdb_rl_tilde_expand (*argv);
|
||||||
exec_file_attach (filename.get (), from_tty);
|
exec_file_attach (filename.get (), from_tty);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -32,7 +32,6 @@
|
|||||||
#include "regcache.h"
|
#include "regcache.h"
|
||||||
#include "regset.h"
|
#include "regset.h"
|
||||||
#include "gdb_bfd.h"
|
#include "gdb_bfd.h"
|
||||||
#include "readline/tilde.h"
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include "gdbsupport/gdb_unlinker.h"
|
#include "gdbsupport/gdb_unlinker.h"
|
||||||
#include "gdbsupport/byte-vector.h"
|
#include "gdbsupport/byte-vector.h"
|
||||||
@@ -147,7 +146,7 @@ gcore_command (const char *args, int from_tty)
|
|||||||
noprocess ();
|
noprocess ();
|
||||||
|
|
||||||
if (args && *args)
|
if (args && *args)
|
||||||
corefilename.reset (tilde_expand (args));
|
corefilename = gdb_rl_tilde_expand (args);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Default corefile name is "core.PID". */
|
/* Default corefile name is "core.PID". */
|
||||||
|
|||||||
@@ -40,7 +40,6 @@
|
|||||||
#include "gdbsupport/gdb-dlfcn.h"
|
#include "gdbsupport/gdb-dlfcn.h"
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include "gdb_bfd.h"
|
#include "gdb_bfd.h"
|
||||||
#include "readline/tilde.h"
|
|
||||||
#include "completer.h"
|
#include "completer.h"
|
||||||
#include <forward_list>
|
#include <forward_list>
|
||||||
|
|
||||||
@@ -179,7 +178,8 @@ jit_reader_load_command (const char *args, int from_tty)
|
|||||||
{
|
{
|
||||||
if (args == NULL)
|
if (args == NULL)
|
||||||
error (_("No reader name provided."));
|
error (_("No reader name provided."));
|
||||||
gdb::unique_xmalloc_ptr<char> file (tilde_expand (args));
|
gdb::unique_xmalloc_ptr<char> file
|
||||||
|
= gdb_rl_tilde_expand (args);
|
||||||
|
|
||||||
if (loaded_jit_reader != NULL)
|
if (loaded_jit_reader != NULL)
|
||||||
error (_("JIT reader already loaded. Run jit-reader-unload first."));
|
error (_("JIT reader already loaded. Run jit-reader-unload first."));
|
||||||
|
|||||||
@@ -27,7 +27,6 @@
|
|||||||
#include "gdbtypes.h"
|
#include "gdbtypes.h"
|
||||||
#include "ui-out.h"
|
#include "ui-out.h"
|
||||||
#include "command.h"
|
#include "command.h"
|
||||||
#include "readline/tilde.h"
|
|
||||||
#include "gdbsupport/gdb_regex.h"
|
#include "gdbsupport/gdb_regex.h"
|
||||||
#include "dictionary.h"
|
#include "dictionary.h"
|
||||||
#include "language.h"
|
#include "language.h"
|
||||||
@@ -1245,7 +1244,7 @@ maintenance_print_psymbols (const char *args, int from_tty)
|
|||||||
if (argv[outfile_idx + 1] != NULL)
|
if (argv[outfile_idx + 1] != NULL)
|
||||||
error (_("Junk at end of command"));
|
error (_("Junk at end of command"));
|
||||||
gdb::unique_xmalloc_ptr<char> outfile_name
|
gdb::unique_xmalloc_ptr<char> outfile_name
|
||||||
(tilde_expand (argv[outfile_idx]));
|
= gdb_rl_tilde_expand (argv[outfile_idx]);
|
||||||
if (!arg_outfile.open (outfile_name.get (), FOPEN_WT))
|
if (!arg_outfile.open (outfile_name.get (), FOPEN_WT))
|
||||||
perror_with_name (outfile_name.get ());
|
perror_with_name (outfile_name.get ());
|
||||||
outfile = &arg_outfile;
|
outfile = &arg_outfile;
|
||||||
|
|||||||
@@ -27,7 +27,6 @@
|
|||||||
#include "value.h"
|
#include "value.h"
|
||||||
#include "language.h"
|
#include "language.h"
|
||||||
#include "gdbsupport/event-loop.h"
|
#include "gdbsupport/event-loop.h"
|
||||||
#include "readline/tilde.h"
|
|
||||||
#include "python.h"
|
#include "python.h"
|
||||||
#include "extension-priv.h"
|
#include "extension-priv.h"
|
||||||
#include "cli/cli-utils.h"
|
#include "cli/cli-utils.h"
|
||||||
|
|||||||
@@ -38,7 +38,6 @@
|
|||||||
#include "filenames.h"
|
#include "filenames.h"
|
||||||
#include "exec.h"
|
#include "exec.h"
|
||||||
#include "observable.h"
|
#include "observable.h"
|
||||||
#include "readline/tilde.h"
|
|
||||||
#include "solib.h"
|
#include "solib.h"
|
||||||
#include "interps.h"
|
#include "interps.h"
|
||||||
#include "filesystem.h"
|
#include "filesystem.h"
|
||||||
@@ -500,7 +499,8 @@ solib_ops::iterate_over_objfiles_in_search_order
|
|||||||
static int
|
static int
|
||||||
solib_map_sections (solib &so)
|
solib_map_sections (solib &so)
|
||||||
{
|
{
|
||||||
gdb::unique_xmalloc_ptr<char> filename (tilde_expand (so.name.c_str ()));
|
gdb::unique_xmalloc_ptr<char> filename
|
||||||
|
= gdb_rl_tilde_expand (so.name.c_str ());
|
||||||
gdb_bfd_ref_ptr abfd (so.ops ().bfd_open (filename.get ()));
|
gdb_bfd_ref_ptr abfd (so.ops ().bfd_open (filename.get ()));
|
||||||
|
|
||||||
/* If we have a core target then the core target might have some helpful
|
/* If we have a core target then the core target might have some helpful
|
||||||
@@ -1418,8 +1418,8 @@ reload_shared_libraries_1 (int from_tty)
|
|||||||
if (from_tty)
|
if (from_tty)
|
||||||
add_flags |= SYMFILE_VERBOSE;
|
add_flags |= SYMFILE_VERBOSE;
|
||||||
|
|
||||||
gdb::unique_xmalloc_ptr<char> filename (
|
gdb::unique_xmalloc_ptr<char> filename
|
||||||
tilde_expand (so.original_name.c_str ()));
|
= gdb_rl_tilde_expand (so.original_name.c_str ());
|
||||||
|
|
||||||
gdb_bfd_ref_ptr abfd = so.ops ().bfd_open (filename.get ());
|
gdb_bfd_ref_ptr abfd = so.ops ().bfd_open (filename.get ());
|
||||||
if (abfd != NULL)
|
if (abfd != NULL)
|
||||||
|
|||||||
@@ -39,7 +39,6 @@
|
|||||||
#include "filenames.h"
|
#include "filenames.h"
|
||||||
#include "completer.h"
|
#include "completer.h"
|
||||||
#include "ui-out.h"
|
#include "ui-out.h"
|
||||||
#include "readline/tilde.h"
|
|
||||||
#include "gdbsupport/enum-flags.h"
|
#include "gdbsupport/enum-flags.h"
|
||||||
#include "gdbsupport/scoped_fd.h"
|
#include "gdbsupport/scoped_fd.h"
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
@@ -564,8 +563,7 @@ add_path (const char *dirname, char **which_path, int parse_separators)
|
|||||||
if (name[0] == '\0')
|
if (name[0] == '\0')
|
||||||
goto skip_dup;
|
goto skip_dup;
|
||||||
if (name[0] == '~')
|
if (name[0] == '~')
|
||||||
new_name_holder
|
new_name_holder = gdb_rl_tilde_expand (name).get ();
|
||||||
= gdb::unique_xmalloc_ptr<char[]> (tilde_expand (name)).get ();
|
|
||||||
#ifdef HAVE_DOS_BASED_FILE_SYSTEM
|
#ifdef HAVE_DOS_BASED_FILE_SYSTEM
|
||||||
else if (IS_ABSOLUTE_PATH (name) && p == name + 2) /* "d:" => "d:." */
|
else if (IS_ABSOLUTE_PATH (name) && p == name + 2) /* "d:" => "d:." */
|
||||||
new_name_holder = std::string (name) + ".";
|
new_name_holder = std::string (name) + ".";
|
||||||
@@ -850,7 +848,7 @@ openp (const char *path, openp_flags opts, const char *string,
|
|||||||
else if (strchr (dir, '~'))
|
else if (strchr (dir, '~'))
|
||||||
{
|
{
|
||||||
/* See whether we need to expand the tilde. */
|
/* See whether we need to expand the tilde. */
|
||||||
filename = gdb::unique_xmalloc_ptr<char> (tilde_expand (dir)).get ();
|
filename = gdb_rl_tilde_expand (dir).get ();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -39,7 +39,6 @@
|
|||||||
#include "filenames.h"
|
#include "filenames.h"
|
||||||
#include "gdbsupport/gdb_obstack.h"
|
#include "gdbsupport/gdb_obstack.h"
|
||||||
#include "completer.h"
|
#include "completer.h"
|
||||||
#include "readline/tilde.h"
|
|
||||||
#include "block.h"
|
#include "block.h"
|
||||||
#include "observable.h"
|
#include "observable.h"
|
||||||
#include "exec.h"
|
#include "exec.h"
|
||||||
@@ -1685,7 +1684,8 @@ symfile_bfd_open (const char *name)
|
|||||||
gdb::unique_xmalloc_ptr<char> absolute_name;
|
gdb::unique_xmalloc_ptr<char> absolute_name;
|
||||||
if (!is_target_filename (name))
|
if (!is_target_filename (name))
|
||||||
{
|
{
|
||||||
gdb::unique_xmalloc_ptr<char> expanded_name (tilde_expand (name));
|
gdb::unique_xmalloc_ptr<char> expanded_name
|
||||||
|
= gdb_rl_tilde_expand (name);
|
||||||
|
|
||||||
/* Look down path for it, allocate 2nd new malloc'd copy. */
|
/* Look down path for it, allocate 2nd new malloc'd copy. */
|
||||||
desc = openp (getenv ("PATH"),
|
desc = openp (getenv ("PATH"),
|
||||||
@@ -2005,7 +2005,8 @@ generic_load (const char *args, int from_tty)
|
|||||||
|
|
||||||
gdb_argv argv (args);
|
gdb_argv argv (args);
|
||||||
|
|
||||||
gdb::unique_xmalloc_ptr<char> filename (tilde_expand (argv[0]));
|
gdb::unique_xmalloc_ptr<char> filename
|
||||||
|
= gdb_rl_tilde_expand (argv[0]);
|
||||||
|
|
||||||
if (argv[1] != NULL)
|
if (argv[1] != NULL)
|
||||||
{
|
{
|
||||||
@@ -2222,7 +2223,7 @@ add_symbol_file_command (const char *args, int from_tty)
|
|||||||
if (filename == NULL)
|
if (filename == NULL)
|
||||||
{
|
{
|
||||||
/* First non-option argument is always the filename. */
|
/* First non-option argument is always the filename. */
|
||||||
filename.reset (tilde_expand (arg));
|
filename = gdb_rl_tilde_expand (arg);
|
||||||
}
|
}
|
||||||
else if (!seen_addr)
|
else if (!seen_addr)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -37,7 +37,6 @@
|
|||||||
#include "typeprint.h"
|
#include "typeprint.h"
|
||||||
#include "cli/cli-cmds.h"
|
#include "cli/cli-cmds.h"
|
||||||
#include "source.h"
|
#include "source.h"
|
||||||
#include "readline/tilde.h"
|
|
||||||
#include <cli/cli-style.h>
|
#include <cli/cli-style.h>
|
||||||
#include "gdbsupport/buildargv.h"
|
#include "gdbsupport/buildargv.h"
|
||||||
|
|
||||||
@@ -435,7 +434,7 @@ maintenance_print_symbols (const char *args, int from_tty)
|
|||||||
if (argv[outfile_idx + 1] != NULL)
|
if (argv[outfile_idx + 1] != NULL)
|
||||||
error (_("Junk at end of command"));
|
error (_("Junk at end of command"));
|
||||||
gdb::unique_xmalloc_ptr<char> outfile_name
|
gdb::unique_xmalloc_ptr<char> outfile_name
|
||||||
(tilde_expand (argv[outfile_idx]));
|
= gdb_rl_tilde_expand (argv[outfile_idx]);
|
||||||
if (!arg_outfile.open (outfile_name.get (), FOPEN_WT))
|
if (!arg_outfile.open (outfile_name.get (), FOPEN_WT))
|
||||||
perror_with_name (outfile_name.get ());
|
perror_with_name (outfile_name.get ());
|
||||||
outfile = &arg_outfile;
|
outfile = &arg_outfile;
|
||||||
@@ -698,7 +697,7 @@ maintenance_print_msymbols (const char *args, int from_tty)
|
|||||||
if (argv[outfile_idx + 1] != NULL)
|
if (argv[outfile_idx + 1] != NULL)
|
||||||
error (_("Junk at end of command"));
|
error (_("Junk at end of command"));
|
||||||
gdb::unique_xmalloc_ptr<char> outfile_name
|
gdb::unique_xmalloc_ptr<char> outfile_name
|
||||||
(tilde_expand (argv[outfile_idx]));
|
= gdb_rl_tilde_expand (argv[outfile_idx]);
|
||||||
if (!arg_outfile.open (outfile_name.get (), FOPEN_WT))
|
if (!arg_outfile.open (outfile_name.get (), FOPEN_WT))
|
||||||
perror_with_name (outfile_name.get ());
|
perror_with_name (outfile_name.get ());
|
||||||
outfile = &arg_outfile;
|
outfile = &arg_outfile;
|
||||||
|
|||||||
@@ -34,7 +34,6 @@
|
|||||||
#include "inferior.h"
|
#include "inferior.h"
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include "completer.h"
|
#include "completer.h"
|
||||||
#include "readline/tilde.h"
|
|
||||||
#include "cli/cli-style.h"
|
#include "cli/cli-style.h"
|
||||||
|
|
||||||
/* Types. */
|
/* Types. */
|
||||||
@@ -1860,7 +1859,7 @@ maintenance_check_xml_descriptions (const char *dir, int from_tty)
|
|||||||
if (dir == NULL)
|
if (dir == NULL)
|
||||||
error (_("Missing dir name"));
|
error (_("Missing dir name"));
|
||||||
|
|
||||||
gdb::unique_xmalloc_ptr<char> dir1 (tilde_expand (dir));
|
gdb::unique_xmalloc_ptr<char> dir1 = gdb_rl_tilde_expand (dir);
|
||||||
std::string feature_dir (dir1.get ());
|
std::string feature_dir (dir1.get ());
|
||||||
unsigned int failed = 0;
|
unsigned int failed = 0;
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,6 @@
|
|||||||
|
|
||||||
#include "extract-store-integer.h"
|
#include "extract-store-integer.h"
|
||||||
#include "tracefile.h"
|
#include "tracefile.h"
|
||||||
#include "readline/tilde.h"
|
|
||||||
#include "gdbsupport/filestuff.h"
|
#include "gdbsupport/filestuff.h"
|
||||||
#include "gdbsupport/rsp-low.h"
|
#include "gdbsupport/rsp-low.h"
|
||||||
#include "regcache.h"
|
#include "regcache.h"
|
||||||
@@ -121,7 +120,7 @@ tfile_start (struct trace_file_writer *self, const char *filename)
|
|||||||
struct tfile_trace_file_writer *writer
|
struct tfile_trace_file_writer *writer
|
||||||
= (struct tfile_trace_file_writer *) self;
|
= (struct tfile_trace_file_writer *) self;
|
||||||
|
|
||||||
writer->pathname = tilde_expand (filename);
|
writer->pathname = gdb_rl_tilde_expand (filename).release ();
|
||||||
writer->fp = gdb_fopen_cloexec (writer->pathname, "wb").release ();
|
writer->fp = gdb_fopen_cloexec (writer->pathname, "wb").release ();
|
||||||
if (writer->fp == NULL)
|
if (writer->fp == NULL)
|
||||||
error (_("Unable to open file '%s' for saving trace data (%s)"),
|
error (_("Unable to open file '%s' for saving trace data (%s)"),
|
||||||
|
|||||||
@@ -80,6 +80,7 @@
|
|||||||
#include "run-on-main-thread.h"
|
#include "run-on-main-thread.h"
|
||||||
#include "gdbsupport/gdb_tilde_expand.h"
|
#include "gdbsupport/gdb_tilde_expand.h"
|
||||||
#include "gdbsupport/eintr.h"
|
#include "gdbsupport/eintr.h"
|
||||||
|
#include "readline/tilde.h"
|
||||||
|
|
||||||
void (*deprecated_error_begin_hook) (void);
|
void (*deprecated_error_begin_hook) (void);
|
||||||
|
|
||||||
@@ -3583,6 +3584,14 @@ strip_leading_path_elements (const char *path, int n)
|
|||||||
|
|
||||||
/* See utils.h. */
|
/* See utils.h. */
|
||||||
|
|
||||||
|
gdb::unique_xmalloc_ptr<char>
|
||||||
|
gdb_rl_tilde_expand (const char *path)
|
||||||
|
{
|
||||||
|
return gdb::unique_xmalloc_ptr<char> (tilde_expand (path));
|
||||||
|
}
|
||||||
|
|
||||||
|
/* See utils.h. */
|
||||||
|
|
||||||
void
|
void
|
||||||
copy_bitwise (gdb_byte *dest, ULONGEST dest_offset,
|
copy_bitwise (gdb_byte *dest, ULONGEST dest_offset,
|
||||||
const gdb_byte *source, ULONGEST source_offset,
|
const gdb_byte *source, ULONGEST source_offset,
|
||||||
|
|||||||
@@ -138,7 +138,11 @@ std::string gdb_ldirname (const char *filename);
|
|||||||
extern int count_path_elements (const char *path);
|
extern int count_path_elements (const char *path);
|
||||||
|
|
||||||
extern const char *strip_leading_path_elements (const char *path, int n);
|
extern const char *strip_leading_path_elements (const char *path, int n);
|
||||||
|
|
||||||
|
/* Wrapper around readline's tilde_expand, to return a unique pointer. */
|
||||||
|
|
||||||
|
extern gdb::unique_xmalloc_ptr<char> gdb_rl_tilde_expand (const char *path);
|
||||||
|
|
||||||
/* GDB output, ui_file utilities. */
|
/* GDB output, ui_file utilities. */
|
||||||
|
|
||||||
struct ui_file;
|
struct ui_file;
|
||||||
|
|||||||
Reference in New Issue
Block a user