Skip to content

Commit f0217c0

Browse files
committed
Improve error message
1 parent c832bf0 commit f0217c0

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

tools/src/podio-dump-tool.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ auto getArgumentValueOrExit(const std::vector<std::string>& argv, std::vector<st
6464
}
6565

6666
std::vector<size_t> parseEventRange(const std::string_view evtRange) {
67-
auto parseError = [&evtRange]() {
68-
fmt::println(stderr, "'{}' cannot be parsed into a list of entries", evtRange);
67+
auto parseError = [evtRange]() {
68+
fmt::println(stderr, "error: argument -e/--entries: '{}' cannot be parsed into a list of entries", evtRange);
6969
std::exit(1);
7070
};
7171

@@ -79,12 +79,13 @@ std::vector<size_t> parseEventRange(const std::string_view evtRange) {
7979
rv::transform([](auto&& subrange) { return std::string_view(subrange.begin(), subrange.end()); });
8080

8181
const auto it = std::ranges::begin(colonSplitRange);
82+
const auto nextIt = std::ranges::next(it);
8283

8384
if (std::ranges::distance(colonSplitRange) == 1) {
8485
return {parseSizeOrExit(*it)};
85-
} else if (std::ranges::distance(colonSplitRange) == 2) {
86+
} else if (std::ranges::distance(colonSplitRange) == 2 && !(*nextIt).empty()) {
8687
size_t start = parseSizeOrExit(*it);
87-
size_t stop = parseSizeOrExit(*std::ranges::next(it));
88+
size_t stop = parseSizeOrExit(*nextIt);
8889
std::vector<size_t> events(stop - start + 1);
8990
std::iota(events.begin(), events.end(), start);
9091
return events;

0 commit comments

Comments
 (0)