aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2002-05-09 18:23:41 +0000
committerTom Tromey <tromey@redhat.com>2002-05-09 18:23:41 +0000
commitc55a3f731ba4865fb0f56f0d7531484aaed9af3b (patch)
tree7704cc2b9cd1ae3a2709f3a261a45a9cb51d471d
parent35928259ea012cfff5fa7e4f85fed88c1849ef68 (diff)
downloadfsf-binutils-gdb-c55a3f731ba4865fb0f56f0d7531484aaed9af3b.zip
fsf-binutils-gdb-c55a3f731ba4865fb0f56f0d7531484aaed9af3b.tar.gz
fsf-binutils-gdb-c55a3f731ba4865fb0f56f0d7531484aaed9af3b.tar.bz2
* jv-valprint.c (java_val_print): Handle `char' as a special case
of TYPE_CODE_INT.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/jv-valprint.c15
2 files changed, 12 insertions, 8 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 3e8f9eb..0595f37 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2002-05-09 Tom Tromey <tromey@redhat.com>
+
+ * jv-valprint.c (java_val_print): Handle `char' as a special case
+ of TYPE_CODE_INT.
+
2002-05-09 Michael Snyder <msnyder@redhat.com>
* arm-tdep.c (arm_scan_prologue): Accept strb r(0123),[r11,#-nn],
diff --git a/gdb/jv-valprint.c b/gdb/jv-valprint.c
index 73fff27..f0fd0f5 100644
--- a/gdb/jv-valprint.c
+++ b/gdb/jv-valprint.c
@@ -497,18 +497,17 @@ java_val_print (struct type *type, char *valaddr, int embedded_offset,
return i;
case TYPE_CODE_CHAR:
- format = format ? format : output_format;
- if (format)
- print_scalar_formatted (valaddr, type, format, 0, stream);
- else
- LA_PRINT_CHAR ((int) unpack_long (type, valaddr), stream);
- break;
-
case TYPE_CODE_INT:
- /* Can't just call c_val_print because that print bytes as C chars. */
+ /* Can't just call c_val_print because that prints bytes as C
+ chars. */
format = format ? format : output_format;
if (format)
print_scalar_formatted (valaddr, type, format, 0, stream);
+ else if (TYPE_CODE (type) == TYPE_CODE_CHAR
+ || (TYPE_CODE (type) == TYPE_CODE_INT
+ && TYPE_LENGTH (type) == 2
+ && strcmp (TYPE_NAME (type), "char") == 0))
+ LA_PRINT_CHAR ((int) unpack_long (type, valaddr), stream);
else
val_print_type_code_int (type, valaddr, stream);
break;