diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2004-02-19 22:43:03 +0000 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2004-02-19 22:43:03 +0000 |
commit | 95051d277ef4d4fb8a1b1eece02412e747fa77f6 (patch) | |
tree | ed7bf054004d33c058d0c9b4167bea777d3973a2 | |
parent | ccefbec3745e5ec6eab196d8fd7a18e8fa740da9 (diff) | |
download | gdb-95051d277ef4d4fb8a1b1eece02412e747fa77f6.zip gdb-95051d277ef4d4fb8a1b1eece02412e747fa77f6.tar.gz gdb-95051d277ef4d4fb8a1b1eece02412e747fa77f6.tar.bz2 |
2004-02-19 Jeff Johnston <jjohnstn@redhat.com>
* printcmd.c (print_scalar_formatted): Do not check for sizeof
type being greater than sizeof of host's LONGEST. Always use
unpack_long() unless format 'f' chosen.
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/printcmd.c | 41 |
2 files changed, 8 insertions, 39 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 21d73d8..11368fb 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2004-02-19 Jeff Johnston <jjohnstn@redhat.com> + + * printcmd.c (print_scalar_formatted): Do not check for sizeof + type being greater than sizeof of host's LONGEST. Always use + unpack_long() unless format 'f' chosen. + 2004-02-19 Joel Brobecker <brobecker@gnat.com> Committed by Elena Zannoni <ezannoni@redhat.com> diff --git a/gdb/printcmd.c b/gdb/printcmd.c index 62ca095..72da949 100644 --- a/gdb/printcmd.c +++ b/gdb/printcmd.c @@ -1,7 +1,7 @@ /* Print values for GNU debugger GDB. Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, - 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software + 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of GDB. @@ -350,44 +350,7 @@ print_scalar_formatted (void *valaddr, struct type *type, int format, int size, LONGEST val_long; unsigned int len = TYPE_LENGTH (type); - if (len > sizeof (LONGEST) - && (format == 't' - || format == 'c' - || format == 'o' - || format == 'u' - || format == 'd' - || format == 'x')) - { - if (!TYPE_UNSIGNED (type) - || !extract_long_unsigned_integer (valaddr, len, &val_long)) - { - /* We can't print it normally, but we can print it in hex. - Printing it in the wrong radix is more useful than saying - "use /x, you dummy". */ - /* FIXME: we could also do octal or binary if that was the - desired format. */ - /* FIXME: we should be using the size field to give us a - minimum field width to print. */ - - if (format == 'o') - print_octal_chars (stream, valaddr, len); - else if (format == 'd') - print_decimal_chars (stream, valaddr, len); - else if (format == 't') - print_binary_chars (stream, valaddr, len); - else - /* replace with call to print_hex_chars? Looks - like val_print_type_code_int is redoing - work. - edie */ - - val_print_type_code_int (type, valaddr, stream); - - return; - } - - /* If we get here, extract_long_unsigned_integer set val_long. */ - } - else if (format != 'f') + if (format != 'f') val_long = unpack_long (type, valaddr); /* If the value is a pointer, and pointers and addresses are not the |