|
|
|
|
|
|
|
|
} else { |
|
|
} else { |
|
|
// An rglob pattern "**". Check by peeling of individual path elements |
|
|
// An rglob pattern "**". Check by peeling of individual path elements |
|
|
const auto next_pat = std::next(pat_it); |
|
|
const auto next_pat = std::next(pat_it); |
|
|
|
|
|
if (next_pat == pat_stop) { |
|
|
|
|
|
// The "**" is at the end of the glob. This matches everything. |
|
|
|
|
|
return true; |
|
|
|
|
|
} |
|
|
for (; elem_it != elem_stop; ++elem_it) { |
|
|
for (; elem_it != elem_stop; ++elem_it) { |
|
|
if (check_matches(elem_it, elem_stop, next_pat, pat_stop)) { |
|
|
if (check_matches(elem_it, elem_stop, next_pat, pat_stop)) { |
|
|
return true; |
|
|
return true; |