From d0aee0c4b88915e1d0f8facb6a139e972ebee115 Mon Sep 17 00:00:00 2001 From: Fred Fish Date: Tue, 10 Sep 2002 02:04:38 +0000 Subject: [PATCH] Reviewed and approved by Kevin Buettner 2002-09-09 Fred Fish * printcmd.c (print_scalar_formatted): "len" is the number of target bytes, NOT the number of target bits. --- gdb/ChangeLog | 5 +++++ gdb/printcmd.c | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 07c94123bc3..9df64f66c44 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2002-09-09 Fred Fish + + * printcmd.c (print_scalar_formatted): "len" is the number of + target bytes, NOT the number of target bits. + 2002-09-09 Elena Zannoni From: Emmanuel Thome' diff --git a/gdb/printcmd.c b/gdb/printcmd.c index 2e57050105f..8542b8a9a5b 100644 --- a/gdb/printcmd.c +++ b/gdb/printcmd.c @@ -391,10 +391,10 @@ print_scalar_formatted (char *valaddr, struct type *type, int format, int size, val_long = unpack_long (type, valaddr); /* If the value is a pointer, and pointers and addresses are not the - same, then at this point, the value's length is TARGET_ADDR_BIT, not - TYPE_LENGTH (type). */ + same, then at this point, the value's length (in target bytes) is + TARGET_ADDR_BIT/TARGET_CHAR_BIT, not TYPE_LENGTH (type). */ if (TYPE_CODE (type) == TYPE_CODE_PTR) - len = TARGET_ADDR_BIT; + len = TARGET_ADDR_BIT / TARGET_CHAR_BIT; /* If we are printing it as unsigned, truncate it in case it is actually a negative signed value (e.g. "print/u (short)-1" should print 65535 -- 2.30.2