summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog19
-rw-r--r--gdb/cli/cli-cmds.c7
-rw-r--r--gdb/coffread.c15
-rw-r--r--gdb/fbsd-nat.c2
-rw-r--r--gdb/linux-fork.c9
-rw-r--r--gdb/linux-nat.c2
-rw-r--r--gdb/minsyms.c7
-rw-r--r--gdb/nto-tdep.c8
-rw-r--r--gdb/procfs.c2
-rw-r--r--gdb/tui/tui-io.c22
10 files changed, 40 insertions, 53 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 41546492be1..3a26f18e0d6 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,22 @@
+2011-03-09 Pedro Alves <pedro@codesourcery.com>
+
+ * cli/cli-cmds.c (shell_escape): Use lbasename.
+ * coffread.c (coff_start_symtab): Constify parameter.
+ (complete_symtab): Constify `name' parameter.
+ (coff_symtab_read): Constify `filestring' local.
+ (coff_getfilename): Constify return and `result' local.
+ Use lbasename.
+ * fbsd-nat.c (fbsd_make_corefile_notes): Use lbasename.
+ * linux-fork.c (info_checkpoints_command): Use lbasename.
+ * linux-nat.c (linux_nat_make_corefile_notes): Use lbasename.
+ * minsyms.c (lookup_minimal_symbol): Use lbasename.
+ * nto-tdep.c (nto_find_and_open_solib): Use lbasename.
+ * procfs.c (procfs_make_note_section): Use lbasename.
+ * tui/tui-io.c (printable_part): Constity return and parameter.
+ Use lbasename.
+ (print_filename): Constify parameters, and local `s'.
+ (tui_rl_display_match_list): Constify local `temp'.
+
2011-03-09 Jan Kratochvil <jan.kratochvil@redhat.com>
Revert:
diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c
index e3cccdfc2be..0fc5efc6fe9 100644
--- a/gdb/cli/cli-cmds.c
+++ b/gdb/cli/cli-cmds.c
@@ -730,16 +730,13 @@ shell_escape (char *arg, int from_tty)
if ((pid = vfork ()) == 0)
{
- char *p, *user_shell;
+ const char *p, *user_shell;
if ((user_shell = (char *) getenv ("SHELL")) == NULL)
user_shell = "/bin/sh";
/* Get the name of the shell for arg0. */
- if ((p = strrchr (user_shell, '/')) == NULL)
- p = user_shell;
- else
- p++; /* Get past '/' */
+ p = lbasename (user_shell);
if (!arg)
execl (user_shell, p, (char *) 0);
diff --git a/gdb/coffread.c b/gdb/coffread.c
index 85a55536f7e..8ec87c14a4b 100644
--- a/gdb/coffread.c
+++ b/gdb/coffread.c
@@ -178,7 +178,7 @@ static int init_lineno (bfd *, long, int);
static char *getsymname (struct internal_syment *);
-static char *coff_getfilename (union internal_auxent *);
+static const char *coff_getfilename (union internal_auxent *);
static void free_stringtab (void);
@@ -366,7 +366,7 @@ coff_alloc_type (int index)
it indicates the start of data for one original source file. */
static void
-coff_start_symtab (char *name)
+coff_start_symtab (const char *name)
{
start_symtab (
/* We fill in the filename later. start_symtab puts this pointer
@@ -388,7 +388,7 @@ coff_start_symtab (char *name)
text. */
static void
-complete_symtab (char *name, CORE_ADDR start_addr, unsigned int size)
+complete_symtab (const char *name, CORE_ADDR start_addr, unsigned int size)
{
if (last_source_file != NULL)
xfree (last_source_file);
@@ -713,7 +713,7 @@ coff_symtab_read (long symtab_offset, unsigned int nsyms,
int in_source_file = 0;
int next_file_symnum = -1;
/* Name of the current file. */
- char *filestring = "";
+ const char *filestring = "";
int depth = 0;
int fcn_first_line = 0;
CORE_ADDR fcn_first_line_addr = 0;
@@ -1308,12 +1308,12 @@ getsymname (struct internal_syment *symbol_entry)
Return only the last component of the name. Result is in static
storage and is only good for temporary use. */
-static char *
+static const char *
coff_getfilename (union internal_auxent *aux_entry)
{
static char buffer[BUFSIZ];
char *temp;
- char *result;
+ const char *result;
if (aux_entry->x_file.x_n.x_zeroes == 0)
{
@@ -1331,8 +1331,7 @@ coff_getfilename (union internal_auxent *aux_entry)
/* FIXME: We should not be throwing away the information about what
directory. It should go into dirname of the symtab, or some such
place. */
- if ((temp = strrchr (result, '/')) != NULL)
- result = temp + 1;
+ result = lbasename (result);
return (result);
}
diff --git a/gdb/fbsd-nat.c b/gdb/fbsd-nat.c
index 2072e0e6f4f..6b775a9651c 100644
--- a/gdb/fbsd-nat.c
+++ b/gdb/fbsd-nat.c
@@ -202,7 +202,7 @@ fbsd_make_corefile_notes (bfd *obfd, int *note_size)
if (get_exec_file (0))
{
- char *fname = strrchr (get_exec_file (0), '/') + 1;
+ char *fname = lbasename (get_exec_file (0));
char *psargs = xstrdup (fname);
if (get_inferior_args ())
diff --git a/gdb/linux-fork.c b/gdb/linux-fork.c
index a60975c36ac..7f654afedd6 100644
--- a/gdb/linux-fork.c
+++ b/gdb/linux-fork.c
@@ -584,14 +584,7 @@ info_checkpoints_command (char *arg, int from_tty)
sal = find_pc_line (pc, 0);
if (sal.symtab)
- {
- char *tmp = strrchr (sal.symtab->filename, '/');
-
- if (tmp)
- printf_filtered (_(", file %s"), tmp + 1);
- else
- printf_filtered (_(", file %s"), sal.symtab->filename);
- }
+ printf_filtered (_(", file %s"), lbasename (sal.symtab->filename));
if (sal.line)
printf_filtered (_(", line %d"), sal.line);
if (!sal.symtab && !sal.line)
diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
index 922a2cf9524..732812d0a17 100644
--- a/gdb/linux-nat.c
+++ b/gdb/linux-nat.c
@@ -4491,7 +4491,7 @@ linux_nat_make_corefile_notes (bfd *obfd, int *note_size)
if (get_exec_file (0))
{
- strncpy (fname, strrchr (get_exec_file (0), '/') + 1, sizeof (fname));
+ strncpy (fname, lbasename (get_exec_file (0)), sizeof (fname));
strncpy (psargs, get_exec_file (0), sizeof (psargs));
if (get_inferior_args ())
{
diff --git a/gdb/minsyms.c b/gdb/minsyms.c
index 8497991f04a..4ae7f279393 100644
--- a/gdb/minsyms.c
+++ b/gdb/minsyms.c
@@ -198,12 +198,7 @@ lookup_minimal_symbol (const char *name, const char *sfile,
const char *modified_name;
if (sfile != NULL)
- {
- char *p = strrchr (sfile, '/');
-
- if (p != NULL)
- sfile = p + 1;
- }
+ sfile = lbasename (sfile);
/* For C++, canonicalize the input name. */
modified_name = name;
diff --git a/gdb/nto-tdep.c b/gdb/nto-tdep.c
index 5858dc26ece..23bbd3122b0 100644
--- a/gdb/nto-tdep.c
+++ b/gdb/nto-tdep.c
@@ -127,13 +127,7 @@ nto_find_and_open_solib (char *solib, unsigned o_flags, char **temp_pathname)
sprintf (buf, PATH_FMT, arch_path, arch_path, arch_path, arch_path,
arch_path);
- /* Don't assume basename() isn't destructive. */
- base = strrchr (solib, '/');
- if (!base)
- base = solib;
- else
- base++; /* Skip over '/'. */
-
+ base = lbasename (solib);
ret = openp (buf, 1, base, o_flags, temp_pathname);
if (ret < 0 && base != solib)
{
diff --git a/gdb/procfs.c b/gdb/procfs.c
index af0fbaa0c0a..5d7cb239542 100644
--- a/gdb/procfs.c
+++ b/gdb/procfs.c
@@ -5734,7 +5734,7 @@ procfs_make_note_section (bfd *obfd, int *note_size)
if (get_exec_file (0))
{
- strncpy (fname, strrchr (get_exec_file (0), '/') + 1, sizeof (fname));
+ strncpy (fname, lbasename (get_exec_file (0)), sizeof (fname));
strncpy (psargs, get_exec_file (0),
sizeof (psargs));
diff --git a/gdb/tui/tui-io.c b/gdb/tui/tui-io.c
index 5b110bdfaf7..e7b73707b2f 100644
--- a/gdb/tui/tui-io.c
+++ b/gdb/tui/tui-io.c
@@ -324,20 +324,10 @@ tui_readline_output (int error, gdb_client_data data)
final slash. Otherwise, we return what we were passed.
Comes from readline/complete.c. */
-static char *
-printable_part (char *pathname)
+static const char *
+printable_part (const char *pathname)
{
- char *temp;
-
- temp = rl_filename_completion_desired
- ? strrchr (pathname, '/') : (char *)NULL;
-#if defined (__MSDOS__)
- if (rl_filename_completion_desired
- && temp == 0 && isalpha (pathname[0])
- && pathname[1] == ':')
- temp = pathname + 1;
-#endif
- return (temp ? ++temp : pathname);
+ return rl_filename_completion_desired ? lbasename (pathname) : pathname;
}
/* Output TO_PRINT to rl_outstream. If VISIBLE_STATS is defined and
@@ -366,10 +356,10 @@ printable_part (char *pathname)
} while (0)
static int
-print_filename (char *to_print, char *full_pathname)
+print_filename (const char *to_print, const char *full_pathname)
{
int printed_len = 0;
- char *s;
+ const char *s;
for (s = to_print; *s; s++)
{
@@ -416,7 +406,7 @@ tui_rl_display_match_list (char **matches, int len, int max)
int count, limit, printed_len;
int i, j, k, l;
- char *temp;
+ const char *temp;
/* Screen dimension correspond to the TUI command window. */
int screenwidth = TUI_CMD_WIN->generic.width;