diff options
Diffstat (limited to 'lldb/source/Breakpoint/BreakpointIDList.cpp')
-rw-r--r-- | lldb/source/Breakpoint/BreakpointIDList.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/lldb/source/Breakpoint/BreakpointIDList.cpp b/lldb/source/Breakpoint/BreakpointIDList.cpp index 037b03e1e46..0f8a027b030 100644 --- a/lldb/source/Breakpoint/BreakpointIDList.cpp +++ b/lldb/source/Breakpoint/BreakpointIDList.cpp @@ -122,12 +122,13 @@ void BreakpointIDList::FindAndReplaceIDRanges(Args &old_args, Target *target, llvm::StringRef range_from; llvm::StringRef range_to; llvm::StringRef current_arg; + const size_t num_old_args = old_args.GetArgumentCount(); std::set<std::string> names_found; - for (size_t i = 0; i < old_args.size(); ++i) { + for (size_t i = 0; i < num_old_args; ++i) { bool is_range = false; - current_arg = old_args[i].ref; + current_arg = old_args.GetArgumentAtIndex(i); if (!allow_locations && current_arg.contains('.')) { result.AppendErrorWithFormat( "Breakpoint locations not allowed, saw location: %s.", @@ -151,17 +152,19 @@ void BreakpointIDList::FindAndReplaceIDRanges(Args &old_args, Target *target, return; } else names_found.insert(current_arg); - } else if ((i + 2 < old_args.size()) && - BreakpointID::IsRangeIdentifier(old_args[i + 1].ref) && + } else if ((i + 2 < num_old_args) && + BreakpointID::IsRangeIdentifier( + old_args.GetArgumentAtIndex(i + 1)) && BreakpointID::IsValidIDExpression(current_arg) && - BreakpointID::IsValidIDExpression(old_args[i + 2].ref)) { + BreakpointID::IsValidIDExpression( + old_args.GetArgumentAtIndex(i + 2))) { range_from = current_arg; - range_to = old_args[i + 2].ref; + range_to = old_args.GetArgumentAtIndex(i + 2); is_range = true; i = i + 2; } else { // See if user has specified id.* - llvm::StringRef tmp_str = old_args[i].ref; + llvm::StringRef tmp_str = old_args.GetArgumentAtIndex(i); size_t pos = tmp_str.find('.'); if (pos != llvm::StringRef::npos) { llvm::StringRef bp_id_str = tmp_str.substr(0, pos); |