summaryrefslogtreecommitdiff
path: root/gdb/d-lang.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2010-08-11 15:41:37 +0000
committerTom Tromey <tromey@redhat.com>2010-08-11 15:41:37 +0000
commit9ff7142623daa28d52afdcb5914e452f0bbfc9a0 (patch)
treea5da57289e27830f2551d65d5e13c2f7eb88565a /gdb/d-lang.c
parentaaa1118e085f9eceb3e30f764d08ebbe3bc356f2 (diff)
downloadgdb-9ff7142623daa28d52afdcb5914e452f0bbfc9a0.tar.gz
2010-08-11 Brad Roberts <braddr@puremagic.com>
* d-lang.c (extract_identifiers): Handle multiple digits.
Diffstat (limited to 'gdb/d-lang.c')
-rw-r--r--gdb/d-lang.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gdb/d-lang.c b/gdb/d-lang.c
index 6db521b6d81..8ef47c7cecb 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;