* language.c (set_language_command): Strip whitespace.
	(set_type_command): Likewise.
	(set_range_command): Likewise.
gdb/testsuite
	* gdb.base/setshow.exp: Add tests for changes to set language, set
	check range, and set check type.
This commit is contained in:
Tom Tromey 2009-08-07 23:28:13 +00:00
parent 6cc0b2563e
commit bda180e011
4 changed files with 68 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2009-08-07 Tom Tromey <tromey@redhat.com>
* language.c (set_language_command): Strip whitespace.
(set_type_command): Likewise.
(set_range_command): Likewise.
2009-08-07 Tom Tromey <tromey@redhat.com>
PR gdb/8869:

View File

@ -150,11 +150,21 @@ show_language_command (struct ui_file *file, int from_tty,
static void
set_language_command (char *ignore, int from_tty, struct cmd_list_element *c)
{
int i;
int i, len;
enum language flang;
char *err_lang;
char *err_lang, *tem;
if (!language || !language[0])
/* Strip trailing whitespace. */
if (!language)
len = 0;
else
{
len = strlen (language);
while (len > 0 && language[len - 1] == ' ')
--len;
}
if (len == 0)
{
printf_unfiltered (_("\
The currently understood settings are:\n\n\
@ -181,6 +191,11 @@ local or auto Automatic setting based on source file\n"));
return;
}
/* Reset LANGUAGE to avoid trailing spaces. */
tem = savestring (language, len);
xfree (language);
language = tem;
/* Search the list of languages for a match. */
for (i = 0; i < languages_size; i++)
{
@ -251,6 +266,18 @@ show_type_command (struct ui_file *file, int from_tty,
static void
set_type_command (char *ignore, int from_tty, struct cmd_list_element *c)
{
int len;
char *tem;
/* Strip trailing whitespace. */
len = strlen (type);
while (len > 0 && type[len - 1] == ' ')
--len;
/* Reset TYPE. */
tem = savestring (type, len);
xfree (type);
type = tem;
if (strcmp (type, "on") == 0)
{
type_check = type_check_on;
@ -298,6 +325,18 @@ show_range_command (struct ui_file *file, int from_tty,
static void
set_range_command (char *ignore, int from_tty, struct cmd_list_element *c)
{
int len;
char *tem;
/* Strip trailing whitespace. */
len = strlen (range);
while (len > 0 && range[len - 1] == ' ')
--len;
/* Reset RANGE. */
tem = savestring (range, len);
xfree (range);
range = tem;
if (strcmp (range, "on") == 0)
{
range_check = range_check_on;

View File

@ -1,3 +1,8 @@
2009-08-07 Tom Tromey <tromey@redhat.com>
* gdb.base/setshow.exp: Add tests for changes to set language, set
check range, and set check type.
2009-08-03 Vladimir Prus <vladimir@codesourcery.com>
* lib/mi-support.exp (mi_list_breakpoints): Make it work.

View File

@ -104,6 +104,10 @@ if { ![target_info exists use_gdb_stub] && ![target_info exists noargs] } {
gdb_test "set check range on" "" "set check range on"
#test show check range on
gdb_test "show check range" "Range checking is \"on\"\..*" "show check range (on)"
#test set check range off with trailing space
gdb_test "set check range off " "" "set check range off"
#test show check range off
gdb_test "show check range" "Range checking is \"off\"\..*" "show check range (off)"
#test set check range auto
gdb_test "set check range auto" "" "set check range auto"
#test show check range auto
@ -112,6 +116,10 @@ gdb_test "show check range" "Range checking is \"auto; currently .*" "show check
gdb_test "set check type on" "" "set check type on"
#test show check type on
gdb_test "show check type" "Type checking is \"on\"..*" "show check type (on)"
#test set check type off with trailing space
gdb_test "set check type off " "" "set check type off"
#test show check type off
gdb_test "show check type" "Type checking is \"off\"..*" "show check type (off)"
#test set check type auto
gdb_test "set check type auto" "" "set check type auto"
#test show check type
@ -170,6 +178,13 @@ gdb_test "show history size" "The size of the command history is 100..*" "show h
gdb_test "set language asm" "" "set language asm"
#test show language asm
gdb_test "show language" "The current source language is \"asm\"..*" "show language (asm)"
#test set language java, with a trailing space
gdb_test "set language java " "" "set language java"
#test show language java
gdb_test "show language" "The current source language is \"java\"..*" "show language (java)"
#test completion for set language.
gdb_test "complete set language min" "set language minimal" \
"complete set language minimal"
#test set language auto
gdb_test "set language auto" "" "set language auto"
#test show language