2008-12-29 Pedro Alves <pedro@codesourcery.com>
PR gdb/7536: * valprint.c (input_radix_1): New static global. (set_input_radix): Use it instead of "input_radix". (set_input_radix_1): Always leave input_radix_1 set to input_radix. (output_radix_1): New static global. (set_output_radix): Use it instead of "output_radix". (set_output_radix_1): Always leave output_radix_1 set to output_radix. (_initialize_valprint): Use "input_radix_1" instead of "input_radix" with the "input-radix" command. Use "output_radix_1" instead of "output_radix" with the "output-radix" command. 2008-12-29 Pedro Alves <pedro@codesourcery.com> PR gdb/7536: * gdb.base/radix.exp: Add tests to ensure invalid input radices and unsupported output radices are really rejected.
This commit is contained in:
parent
b828adc616
commit
09e6485fa9
@ -1,3 +1,19 @@
|
||||
2008-12-29 Pedro Alves <pedro@codesourcery.com>
|
||||
|
||||
PR gdb/7536:
|
||||
* valprint.c (input_radix_1): New static global.
|
||||
(set_input_radix): Use it instead of "input_radix".
|
||||
(set_input_radix_1): Always leave input_radix_1 set to
|
||||
input_radix.
|
||||
(output_radix_1): New static global.
|
||||
(set_output_radix): Use it instead of "output_radix".
|
||||
(set_output_radix_1): Always leave output_radix_1 set to
|
||||
output_radix.
|
||||
(_initialize_valprint): Use "input_radix_1" instead of
|
||||
"input_radix" with the "input-radix" command. Use
|
||||
"output_radix_1" instead of "output_radix" with the "output-radix"
|
||||
command.
|
||||
|
||||
2008-12-28 Pedro Alves <pedro@codesourcery.com>
|
||||
|
||||
* linux-fork.c (linux_fork_detach): New.
|
||||
|
@ -1,3 +1,9 @@
|
||||
2008-12-29 Pedro Alves <pedro@codesourcery.com>
|
||||
|
||||
PR gdb/7536:
|
||||
* gdb.base/radix.exp: Add tests to ensure invalid input radices
|
||||
and unsupported output radices are really rejected.
|
||||
|
||||
2008-12-23 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* gdb.cp/punctuator.exp: Backslash the '$' signs.
|
||||
|
@ -154,3 +154,31 @@ test_output_radix 16 "10" "20"
|
||||
setup_kfail *-*-* "gdb/1715"
|
||||
test_one_output 16 "20." "14"
|
||||
test_one_output 16 "(int) 20." "14"
|
||||
|
||||
# Test rejecting invalid input radices and unsupported output radices
|
||||
# really rejects the radices, instead of just claiming so (PR 7536).
|
||||
|
||||
gdb_test "set radix" \
|
||||
"Input and output radices now set to decimal 10, hex a, octal 12\." \
|
||||
"Reset radices"
|
||||
|
||||
gdb_test "set input-radix 1" \
|
||||
"Nonsense input radix ``decimal 1''; input radix unchanged\\." \
|
||||
"Reject input-radix 1"
|
||||
gdb_test "show input-radix" \
|
||||
"Default input radix for entering numbers is 10\\." \
|
||||
"Input radix unchanged after rejection"
|
||||
|
||||
gdb_test "set output-radix 1" \
|
||||
"Unsupported output radix ``decimal 1''; output radix unchanged\\." \
|
||||
"Reject output-radix 1"
|
||||
gdb_test "show output-radix" \
|
||||
"Default output radix for printing of values is 10\\." \
|
||||
"Output radix unchanged after rejection"
|
||||
|
||||
gdb_test "set radix 7" \
|
||||
"Unsupported output radix ``decimal 7''; output radix unchanged\\." \
|
||||
"set radix 7 rejected"
|
||||
gdb_test "show output-radix" \
|
||||
"Default output radix for printing of values is 10\\." \
|
||||
"Output radix unchanged after rejection through set radix command"
|
||||
|
@ -1359,6 +1359,12 @@ val_print_string (CORE_ADDR addr, int len, int width, struct ui_file *stream,
|
||||
}
|
||||
|
||||
|
||||
/* The 'set input-radix' command writes to this auxiliary variable.
|
||||
If the requested radix is valid, INPUT_RADIX is updated; otherwise,
|
||||
it is left unchanged. */
|
||||
|
||||
static unsigned input_radix_1 = 10;
|
||||
|
||||
/* Validate an input or output radix setting, and make sure the user
|
||||
knows what they really did here. Radix setting is confusing, e.g.
|
||||
setting the input radix to "10" never changes it! */
|
||||
@ -1366,7 +1372,7 @@ val_print_string (CORE_ADDR addr, int len, int width, struct ui_file *stream,
|
||||
static void
|
||||
set_input_radix (char *args, int from_tty, struct cmd_list_element *c)
|
||||
{
|
||||
set_input_radix_1 (from_tty, input_radix);
|
||||
set_input_radix_1 (from_tty, input_radix_1);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -1381,12 +1387,11 @@ set_input_radix_1 (int from_tty, unsigned radix)
|
||||
|
||||
if (radix < 2)
|
||||
{
|
||||
/* FIXME: cagney/2002-03-17: This needs to revert the bad radix
|
||||
value. */
|
||||
input_radix_1 = input_radix;
|
||||
error (_("Nonsense input radix ``decimal %u''; input radix unchanged."),
|
||||
radix);
|
||||
}
|
||||
input_radix = radix;
|
||||
input_radix_1 = input_radix = radix;
|
||||
if (from_tty)
|
||||
{
|
||||
printf_filtered (_("Input radix now set to decimal %u, hex %x, octal %o.\n"),
|
||||
@ -1394,10 +1399,16 @@ set_input_radix_1 (int from_tty, unsigned radix)
|
||||
}
|
||||
}
|
||||
|
||||
/* The 'set output-radix' command writes to this auxiliary variable.
|
||||
If the requested radix is valid, OUTPUT_RADIX is updated,
|
||||
otherwise, it is left unchanged. */
|
||||
|
||||
static unsigned output_radix_1 = 10;
|
||||
|
||||
static void
|
||||
set_output_radix (char *args, int from_tty, struct cmd_list_element *c)
|
||||
{
|
||||
set_output_radix_1 (from_tty, output_radix);
|
||||
set_output_radix_1 (from_tty, output_radix_1);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -1417,12 +1428,11 @@ set_output_radix_1 (int from_tty, unsigned radix)
|
||||
user_print_options.output_format = 'o'; /* octal */
|
||||
break;
|
||||
default:
|
||||
/* FIXME: cagney/2002-03-17: This needs to revert the bad radix
|
||||
value. */
|
||||
output_radix_1 = output_radix;
|
||||
error (_("Unsupported output radix ``decimal %u''; output radix unchanged."),
|
||||
radix);
|
||||
}
|
||||
output_radix = radix;
|
||||
output_radix_1 = output_radix = radix;
|
||||
if (from_tty)
|
||||
{
|
||||
printf_filtered (_("Output radix now set to decimal %u, hex %x, octal %o.\n"),
|
||||
@ -1566,14 +1576,16 @@ Show printing of addresses."), NULL,
|
||||
show_addressprint,
|
||||
&setprintlist, &showprintlist);
|
||||
|
||||
add_setshow_uinteger_cmd ("input-radix", class_support, &input_radix, _("\
|
||||
add_setshow_uinteger_cmd ("input-radix", class_support, &input_radix_1,
|
||||
_("\
|
||||
Set default input radix for entering numbers."), _("\
|
||||
Show default input radix for entering numbers."), NULL,
|
||||
set_input_radix,
|
||||
show_input_radix,
|
||||
&setlist, &showlist);
|
||||
|
||||
add_setshow_uinteger_cmd ("output-radix", class_support, &output_radix, _("\
|
||||
add_setshow_uinteger_cmd ("output-radix", class_support, &output_radix_1,
|
||||
_("\
|
||||
Set default output radix for printing of values."), _("\
|
||||
Show default output radix for printing of values."), NULL,
|
||||
set_output_radix,
|
||||
|
Loading…
x
Reference in New Issue
Block a user