From 8bcc782ce9bbb9b4c7e6641d3219ad74820f0220 Mon Sep 17 00:00:00 2001 From: "Kaveh R. Ghazi" Date: Sun, 19 Nov 2000 12:46:33 +0000 Subject: [PATCH] cplus-dem.c (grow_vect): Prototype. * cplus-dem.c (grow_vect): Prototype. (ada_demangle): Cast the arg of ctype macros to unsigned char. From-SVN: r37563 --- libiberty/ChangeLog | 5 +++++ libiberty/cplus-dem.c | 12 ++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index fc04782954b..5cc9678782a 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,8 @@ +2000-11-19 Kaveh R. Ghazi + + * cplus-dem.c (grow_vect): Prototype. + (ada_demangle): Cast the arg of ctype macros to unsigned char. + 2000-11-15 Hans-Peter Nilsson * cplus-dem.c (ada_demangle): Add back ATTRIBUTE_UNUSED for diff --git a/libiberty/cplus-dem.c b/libiberty/cplus-dem.c index 78d95d0ec09..ea43e7e60ce 100644 --- a/libiberty/cplus-dem.c +++ b/libiberty/cplus-dem.c @@ -527,6 +527,9 @@ static void recursively_demangle PARAMS ((struct work_stuff *, const char **, string *, int)); +static void +grow_vect PARAMS ((void**, size_t*, size_t, int)); + /* Translate count to integer, consuming tokens in the process. Conversion terminates on the first non-digit character. @@ -995,8 +998,8 @@ ada_demangle (mangled, option) sizeof (char)); demangled = demangling_buffer; - if (isdigit (mangled[len0 - 1])) { - for (i = len0-2; i >= 0 && isdigit (mangled[i]); i -= 1) + if (isdigit ((unsigned char)mangled[len0 - 1])) { + for (i = len0-2; i >= 0 && isdigit ((unsigned char)mangled[i]); i -= 1) ; if (i > 1 && mangled[i] == '_' && mangled[i-1] == '_') { @@ -1010,7 +1013,8 @@ ada_demangle (mangled, option) } } - for (i = 0, j = 0; i < len0 && ! isalpha (mangled[i]); i += 1, j += 1) + for (i = 0, j = 0; i < len0 && ! isalpha ((unsigned char)mangled[i]); + i += 1, j += 1) demangled[j] = mangled[i]; at_start_name = 1; @@ -1033,7 +1037,7 @@ ada_demangle (mangled, option) demangled[j] = '\000'; for (i = 0; demangled[i] != '\0'; i += 1) - if (isupper (demangled[i]) || demangled[i] == ' ') + if (isupper ((unsigned char)demangled[i]) || demangled[i] == ' ') goto Suppress; if (! changed)