diff options
author | Tom Tromey <tromey@redhat.com> | 2002-05-09 18:23:41 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2002-05-09 18:23:41 +0000 |
commit | c55a3f731ba4865fb0f56f0d7531484aaed9af3b (patch) | |
tree | 7704cc2b9cd1ae3a2709f3a261a45a9cb51d471d /gdb/jv-valprint.c | |
parent | 35928259ea012cfff5fa7e4f85fed88c1849ef68 (diff) | |
download | gdb-c55a3f731ba4865fb0f56f0d7531484aaed9af3b.zip gdb-c55a3f731ba4865fb0f56f0d7531484aaed9af3b.tar.gz gdb-c55a3f731ba4865fb0f56f0d7531484aaed9af3b.tar.bz2 |
* jv-valprint.c (java_val_print): Handle `char' as a special case
of TYPE_CODE_INT.
Diffstat (limited to 'gdb/jv-valprint.c')
-rw-r--r-- | gdb/jv-valprint.c | 15 |
1 files changed, 7 insertions, 8 deletions
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; |