PR python/10664:
	* language.h (struct language_defn) <la_get_string>: Add
	'char_type' argument.
	(LA_GET_STRING): Likewise.
	(default_get_string, c_get_string): Update.
	* language.c (default_get_string): Add 'char_type' argument.
	* c-valprint.c (c_textual_element_type): Rename from
	textual_element_type.  No longer static.  Update callers.
	* c-lang.h (c_textual_element_type): Declare.
	* c-lang.c (c_get_string): Add 'char_type' argument.
gdb/testsuite
	PR python/10664:
	* gdb.base/charset.exp: Test utf-16 strings with Python.
This commit is contained in:
Tom Tromey 2009-09-25 21:39:53 +00:00
parent b8899f2b68
commit 96c07c5b96
9 changed files with 65 additions and 23 deletions

View file

@ -294,7 +294,7 @@ struct language_defn
Otherwise *LENGTH will include all characters - including any nulls.
CHARSET will hold the encoding used in the string. */
void (*la_get_string) (struct value *value, gdb_byte **buffer, int *length,
const char **charset);
struct type **chartype, const char **charset);
/* Add fields above this point, so the magic number is always last. */
/* Magic number for compat checking */
@ -394,8 +394,8 @@ extern enum language set_language (enum language);
force_ellipses,options))
#define LA_EMIT_CHAR(ch, type, stream, quoter) \
(current_language->la_emitchar(ch, type, stream, quoter))
#define LA_GET_STRING(value, buffer, length, encoding) \
(current_language->la_get_string(value, buffer, length, encoding))
#define LA_GET_STRING(value, buffer, length, chartype, encoding) \
(current_language->la_get_string(value, buffer, length, chartype, encoding))
#define LA_PRINT_ARRAY_INDEX(index_value, stream, optins) \
(current_language->la_print_array_index(index_value, stream, options))
@ -497,9 +497,9 @@ void default_print_typedef (struct type *type, struct symbol *new_symbol,
struct ui_file *stream);
void default_get_string (struct value *value, gdb_byte **buffer, int *length,
const char **charset);
struct type **char_type, const char **charset);
void c_get_string (struct value *value, gdb_byte **buffer, int *length,
const char **charset);
struct type **char_type, const char **charset);
#endif /* defined (LANGUAGE_H) */