aboutsummaryrefslogtreecommitdiff
path: root/gdb/c-valprint.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2009-09-25 21:39:53 +0000
committerTom Tromey <tromey@redhat.com>2009-09-25 21:39:53 +0000
commit96c07c5b96e970c93ab71a1f351ca669bba78d1a (patch)
tree0228be5148273ed3078a199936b4ebf6cb9534d5 /gdb/c-valprint.c
parentb8899f2b6861deda28ccc10d925105e7e516d68b (diff)
downloadgdb-96c07c5b96e970c93ab71a1f351ca669bba78d1a.zip
gdb-96c07c5b96e970c93ab71a1f351ca669bba78d1a.tar.gz
gdb-96c07c5b96e970c93ab71a1f351ca669bba78d1a.tar.bz2
gdb
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.
Diffstat (limited to 'gdb/c-valprint.c')
-rw-r--r--gdb/c-valprint.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/gdb/c-valprint.c b/gdb/c-valprint.c
index dc391ee..c20bfa7 100644
--- a/gdb/c-valprint.c
+++ b/gdb/c-valprint.c
@@ -54,7 +54,7 @@ print_function_pointer_address (struct gdbarch *gdbarch, CORE_ADDR address,
}
-/* A helper for textual_element_type. This checks the name of the
+/* A helper for c_textual_element_type. This checks the name of the
typedef. This is bogus but it isn't apparent that the compiler
provides us the help we may need. */
@@ -77,8 +77,8 @@ textual_name (const char *name)
vector types is not. The user can override this by using the /s
format letter. */
-static int
-textual_element_type (struct type *type, char format)
+int
+c_textual_element_type (struct type *type, char format)
{
struct type *true_type, *iter_type;
@@ -178,7 +178,7 @@ c_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
}
/* Print arrays of textual chars with a string syntax. */
- if (textual_element_type (unresolved_elttype, options->format))
+ if (c_textual_element_type (unresolved_elttype, options->format))
{
/* If requested, look for the first null char and only print
elements up to it. */
@@ -278,7 +278,7 @@ c_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
/* For a pointer to a textual type, also print the string
pointed to, unless pointer is null. */
- if (textual_element_type (unresolved_elttype, options->format)
+ if (c_textual_element_type (unresolved_elttype, options->format)
&& addr != 0)
{
i = val_print_string (unresolved_elttype, addr, -1, stream,
@@ -491,7 +491,7 @@ c_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
Since we don't know whether the value is really intended to
be used as an integer or a character, print the character
equivalent as well. */
- if (textual_element_type (unresolved_type, options->format))
+ if (c_textual_element_type (unresolved_type, options->format))
{
fputs_filtered (" ", stream);
LA_PRINT_CHAR ((unsigned char) unpack_long (type, valaddr + embedded_offset),
@@ -613,7 +613,7 @@ c_value_print (struct value *val, struct ui_file *stream,
{
/* Hack: remove (char *) for char strings. Their
type is indicated by the quoted string anyway.
- (Don't use textual_element_type here; quoted strings
+ (Don't use c_textual_element_type here; quoted strings
are always exactly (char *), (wchar_t *), or the like. */
if (TYPE_CODE (val_type) == TYPE_CODE_PTR
&& TYPE_NAME (val_type) == NULL