Index: gdb/cli/cli-setshow.c =================================================================== RCS file: /cvs/src/src/gdb/cli/cli-setshow.c,v retrieving revision 1.46 diff -a -p -u -r1.46 cli-setshow.c --- gdb/cli/cli-setshow.c 4 Aug 2011 19:10:13 -0000 1.46 +++ gdb/cli/cli-setshow.c 29 Sep 2011 07:39:45 -0000 @@ -177,15 +177,18 @@ do_setshow_command (char *arg, int from_ } break; case var_string_noescape: - if (arg == NULL) - arg = ""; - if (*(char **) c->var != NULL) - xfree (*(char **) c->var); - *(char **) c->var = xstrdup (arg); - break; case var_optional_filename: if (arg == NULL) arg = ""; + else + { + /* Clear trailing whitespace. */ + char *ptr = arg + strlen (arg) - 1; + + while (ptr >= arg && (*ptr == ' ' || *ptr == '\t')) + ptr--; + *(ptr + 1) = '\0'; + } if (*(char **) c->var != NULL) xfree (*(char **) c->var); *(char **) c->var = xstrdup (arg); @@ -193,16 +196,17 @@ do_setshow_command (char *arg, int from_ case var_filename: if (arg == NULL) error_no_arg (_("filename to set it to.")); + else + { + /* Clear trailing whitespace. */ + char *ptr = arg + strlen (arg) - 1; + + while (ptr >= arg && (*ptr == ' ' || *ptr == '\t')) + ptr--; + *(ptr + 1) = '\0'; + } if (*(char **) c->var != NULL) xfree (*(char **) c->var); - { - /* Clear trailing whitespace of filename. */ - char *ptr = arg + strlen (arg) - 1; - - while (ptr >= arg && (*ptr == ' ' || *ptr == '\t')) - ptr--; - *(ptr + 1) = '\0'; - } *(char **) c->var = tilde_expand (arg); break; case var_boolean: @@ -419,7 +423,7 @@ cmd_show_list (struct cmd_list_element * for (; list != NULL; list = list->next) { /* If we find a prefix, run its list, prefixing our output by its - prefix (with "show " skipped). */ + prefix (with "show " skipped). */ if (list->prefixlist && !list->abbrev_flag) { struct cleanup *optionlist_chain