diff options
author | DJ Delorie <dj@delorie.com> | 2002-10-06 20:21:01 +0000 |
---|---|---|
committer | DJ Delorie <dj@delorie.com> | 2002-10-06 20:21:01 +0000 |
commit | 7a104de2a0381ef3ef562b0aaec6a7eca1a4f10d (patch) | |
tree | edea0ec647259504ddac1b7a23b030b861213f9b /libiberty/cplus-dem.c | |
parent | 3330e2457e6adbb4c755cfe302db200beac69a76 (diff) | |
download | binutils-redhat-7a104de2a0381ef3ef562b0aaec6a7eca1a4f10d.tar.gz |
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 4c4778375b..f42d6181d4 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 |