From 242c0d81808102504721ac1289dccec5dce660f9 Mon Sep 17 00:00:00 2001 From: Stu Grossman <grossman@cygnus> Date: Mon, 5 Oct 1998 19:42:04 +0000 Subject: * c-lang.c (emit_char c_printchar c_printstr), c-lang.h (c_printstr) ch-lang.c (chill_printstr chill_printchar) c-valprint.c (c_val_print) ch-valprint.c (chill_val_print) expprint.c (print_subexp) f-lang.c (f_printstr f_printchar emit_char) f-valprint.c (f_val_print) jv-lang.c (java_printchar java_emit_char) jv-valprint.c (java_value_print java_val_print) language.c (unk_lang_printchar unk_lang_printstr unk_lang_emit_char) language.h (struct language_defn LA_PRINT_STRING LA_EMIT_CHAR) m2-lang.c (m2_printstr m2_printchar emit_char) printcmd.c (print_formatted) scm-lang.c (scm_printstr) valprint.c (val_print_string) value.h (val_print_string): Add emit_char routines to language_desc struct to allow finer control over language specific character output issues. Add character width arg to printstr routines to allow handling of wchar_t/Unicode strings. Fix c_printstr to handle wide characters. Supply width argument to LA_PRINT_STRING and val_print_string. * jv-lang.c (java_object_type dynamics_objfile java_link_class_type get_dynamics_objfile get_java_object_type) jv-lang.h (get_java_object_type): Make lots of things static. * expprint.c (dump_prefix_expression dump_subexp): Move opcode name printing to common routine (op_name). * (dump_subexp): Add support for OP_SCOPE. --- gdb/f-lang.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'gdb/f-lang.c') diff --git a/gdb/f-lang.c b/gdb/f-lang.c index a477c40d047..1590ac8ca4b 100644 --- a/gdb/f-lang.c +++ b/gdb/f-lang.c @@ -82,9 +82,9 @@ static void patch_common_entries PARAMS ((SAVED_F77_COMMON_PTR, CORE_ADDR, int)) #endif static struct type *f_create_fundamental_type PARAMS ((struct objfile *, int)); -static void f_printstr PARAMS ((FILE *, char *, unsigned int, int)); -static void f_printchar PARAMS ((int, FILE *)); -static void emit_char PARAMS ((int, FILE *, int)); +static void f_printstr PARAMS ((GDB_FILE *stream, char *string, unsigned int length, int width, int force_ellipses)); +static void f_printchar PARAMS ((int c, GDB_FILE *stream)); +static void f_emit_char PARAMS ((int c, GDB_FILE *stream, int quoter)); /* Print the character C on STREAM as part of the contents of a literal string whose delimiter is QUOTER. Note that that format for printing @@ -93,9 +93,9 @@ static void emit_char PARAMS ((int, FILE *, int)); be replaced with a true F77 version. */ static void -emit_char (c, stream, quoter) +f_emit_char (c, stream, quoter) register int c; - FILE *stream; + GDB_FILE *stream; int quoter; { c &= 0xFF; /* Avoid sign bit follies */ @@ -147,7 +147,7 @@ f_printchar (c, stream) FILE *stream; { fputs_filtered ("'", stream); - emit_char (c, stream, '\''); + LA_EMIT_CHAR (c, stream, '\''); fputs_filtered ("'", stream); } @@ -159,10 +159,11 @@ f_printchar (c, stream) be replaced with a true F77 version. */ static void -f_printstr (stream, string, length, force_ellipses) +f_printstr (stream, string, length, width, force_ellipses) FILE *stream; char *string; unsigned int length; + int width; int force_ellipses; { register unsigned int i; @@ -229,7 +230,7 @@ f_printstr (stream, string, length, force_ellipses) fputs_filtered ("'", stream); in_quotes = 1; } - emit_char (string[i], stream, '"'); + LA_EMIT_CHAR (string[i], stream, '"'); ++things_printed; } } @@ -470,6 +471,7 @@ const struct language_defn f_language_defn = { evaluate_subexp_standard, f_printchar, /* Print character constant */ f_printstr, /* function to print string constant */ + f_emit_char, /* Function to print a single character */ f_create_fundamental_type, /* Create fundamental type in this language */ f_print_type, /* Print a type using appropriate syntax */ f_val_print, /* Print a value using appropriate syntax */ -- cgit v1.2.1