summaryrefslogtreecommitdiff
path: root/gdb/d-lang.c
diff options
context:
space:
mode:
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;