diff options
-rw-r--r-- | gdb/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/d-lang.c | 8 |
2 files changed, 9 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 72e614a..4d94b97 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2010-08-11 Brad Roberts <braddr@puremagic.com> + + * d-lang.c (extract_identifiers): Handle multiple digits. + 2010-08-11 Jan Kratochvil <jan.kratochvil@redhat.com> Code cleanup. diff --git a/gdb/d-lang.c b/gdb/d-lang.c index 6db521b..8ef47c7 100644 --- a/gdb/d-lang.c +++ b/gdb/d-lang.c @@ -37,9 +37,11 @@ extract_identifiers (const char *mangled_str, struct obstack *tempbuf) while (isdigit (*mangled_str)) { - i = strtol (mangled_str, NULL, 10); - mangled_str++; - if (i <= 0 && strlen (mangled_str) < i) + char *end_ptr; + + i = strtol (mangled_str, &end_ptr, 10); + mangled_str = end_ptr; + if (i <= 0 || strlen (mangled_str) < i) return 0; obstack_grow (tempbuf, mangled_str, i); mangled_str += i; |