aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/cli/cli-setshow.c15
-rw-r--r--gdb/solib.c16
-rw-r--r--gdb/symfile.c23
4 files changed, 32 insertions, 27 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 18c85f6..3ced130 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2005-02-21 Andrew Cagney <cagney@gnu.org>
+ Replace string variables with a filename completer with
+ add_setshow_optional_filename_cmd.
+ * solib.c, symfile.c: Update.
+ * cli/cli-setshow.c: Do not tidle expand the file.
+
Add more uses of add_setshow_string_cmd, add_setshow_integer_cmd,
and add_setshow_string_noescape_cmd.
* cli/cli-setshow.c (deprecated_show_value_hack): Do not print a
diff --git a/gdb/cli/cli-setshow.c b/gdb/cli/cli-setshow.c
index 4b01e62..fca92b0 100644
--- a/gdb/cli/cli-setshow.c
+++ b/gdb/cli/cli-setshow.c
@@ -180,15 +180,16 @@ do_setshow_command (char *arg, int from_tty, struct cmd_list_element *c)
xfree (*(char **) c->var);
*(char **) c->var = savestring (arg, strlen (arg));
break;
- case var_filename:
case var_optional_filename:
if (arg == NULL)
- {
- if (c->var_type == var_optional_filename)
- arg = "";
- else
- error_no_arg (_("filename to set it to."));
- }
+ arg = "";
+ if (*(char **) c->var != NULL)
+ xfree (*(char **) c->var);
+ *(char **) c->var = savestring (arg, strlen (arg));
+ break;
+ case var_filename:
+ if (arg == NULL)
+ error_no_arg (_("filename to set it to."));
if (*(char **) c->var != NULL)
xfree (*(char **) c->var);
*(char **) c->var = tilde_expand (arg);
diff --git a/gdb/solib.c b/gdb/solib.c
index de56d5b..d516332 100644
--- a/gdb/solib.c
+++ b/gdb/solib.c
@@ -925,12 +925,12 @@ For other (relative) files, you can add values using `set solib-search-path'."),
one is set. */
solib_absolute_prefix = xstrdup (gdb_sysroot);
- c = add_set_cmd ("solib-search-path", class_support, var_string,
- (char *) &solib_search_path,
- "Set the search path for loading non-absolute shared library symbol files.\n\
-This takes precedence over the environment variables PATH and LD_LIBRARY_PATH.",
- &setlist);
- deprecated_add_show_from_set (c, &showlist);
- set_cmd_sfunc (c, reload_shared_libraries);
- set_cmd_completer (c, filename_completer);
+ add_setshow_optional_filename_cmd ("solib-search-path", class_support,
+ &solib_search_path, _("\
+Set the search path for loading non-absolute shared library symbol files."), _("\
+Show the search path for loading non-absolute shared library symbol files."), _("\
+This takes precedence over the environment variables PATH and LD_LIBRARY_PATH."),
+ reload_shared_libraries,
+ NULL, /* FIXME: i18n: */
+ &setlist, &showlist);
}
diff --git a/gdb/symfile.c b/gdb/symfile.c
index d5384cd..a726e66 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -3621,16 +3621,15 @@ cache."),
&setlist, &showlist);
debug_file_directory = xstrdup (DEBUGDIR);
- c = (add_set_cmd
- ("debug-file-directory", class_support, var_string,
- (char *) &debug_file_directory,
- "Set the directory where separate debug symbols are searched for.\n"
- "Separate debug symbols are first searched for in the same\n"
- "directory as the binary, then in the `" DEBUG_SUBDIRECTORY
- "' subdirectory,\n"
- "and lastly at the path of the directory of the binary with\n"
- "the global debug-file directory prepended\n",
- &setlist));
- deprecated_add_show_from_set (c, &showlist);
- set_cmd_completer (c, filename_completer);
+ add_setshow_optional_filename_cmd ("debug-file-directory", class_support,
+ &debug_file_directory, _("\
+Set the directory where separate debug symbols are searched for."), _("\
+Show the directory where separate debug symbols are searched for."), _("\
+Separate debug symbols are first searched for in the same\n\
+directory as the binary, then in the `" DEBUG_SUBDIRECTORY "' subdirectory,\n\
+and lastly at the path of the directory of the binary with\n\
+the global debug-file directory prepended."),
+ NULL,
+ NULL, /* FIXME: i18n: */
+ &setlist, &showlist);
}