diff options
author | DJ Delorie <dj@redhat.com> | 2002-10-06 20:21:01 +0000 |
---|---|---|
committer | DJ Delorie <dj@redhat.com> | 2002-10-06 20:21:01 +0000 |
commit | 0d3deb8deb7435455da27f6aca9ef5704e6f2a25 (patch) | |
tree | de19afcb094dbaa0f5b855dab9f89e3fb5b594ec /libiberty/cplus-dem.c | |
parent | 4092aadbf4fd3b86b30de37ba22d3925a03a150d (diff) | |
download | gdb-0d3deb8deb7435455da27f6aca9ef5704e6f2a25.zip gdb-0d3deb8deb7435455da27f6aca9ef5704e6f2a25.tar.gz gdb-0d3deb8deb7435455da27f6aca9ef5704e6f2a25.tar.bz2 |
merge from gcc
Diffstat (limited to 'libiberty/cplus-dem.c')
-rw-r--r-- | libiberty/cplus-dem.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/libiberty/cplus-dem.c b/libiberty/cplus-dem.c index 4c47783..f42d618 100644 --- a/libiberty/cplus-dem.c +++ b/libiberty/cplus-dem.c @@ -514,7 +514,7 @@ recursively_demangle PARAMS ((struct work_stuff *, const char **, string *, int)); static void -grow_vect PARAMS ((void **, size_t *, size_t, int)); +grow_vect PARAMS ((char **, size_t *, size_t, int)); /* Translate count to integer, consuming tokens in the process. Conversion terminates on the first non-digit character. @@ -936,7 +936,7 @@ cplus_demangle (mangled, options) static void grow_vect (old_vect, size, min_size, element_size) - void **old_vect; + char **old_vect; size_t *size; size_t min_size; int element_size; @@ -969,8 +969,7 @@ ada_demangle (mangled, option) char *demangled = NULL; int at_start_name; int changed; - char *demangling_buffer = NULL; - size_t demangling_buffer_size = 0; + size_t demangled_size = 0; changed = 0; @@ -998,10 +997,9 @@ ada_demangle (mangled, option) } /* Make demangled big enough for possible expansion by operator name. */ - grow_vect ((void **) &(demangling_buffer), - &demangling_buffer_size, 2 * len0 + 1, + grow_vect (&demangled, + &demangled_size, 2 * len0 + 1, sizeof (char)); - demangled = demangling_buffer; if (ISDIGIT ((unsigned char) mangled[len0 - 1])) { for (i = len0 - 2; i >= 0 && ISDIGIT ((unsigned char) mangled[i]); i -= 1) @@ -1051,10 +1049,10 @@ ada_demangle (mangled, option) return demangled; Suppress: - grow_vect ((void **) &(demangling_buffer), - &demangling_buffer_size, strlen (mangled) + 3, + grow_vect (&demangled, + &demangled_size, strlen (mangled) + 3, sizeof (char)); - demangled = demangling_buffer; + if (mangled[0] == '<') strcpy (demangled, mangled); else |