diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 18c85f6d41..3ced1309b6 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2005-02-21 Andrew Cagney + 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 4b01e62e16..fca92b0747 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 de56d5b0d1..d516332231 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 d5384cdccc..a726e66deb 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); }