13 if (*first ==
'\0' && *second ==
'\0') {
20 if (*first ==
'*' && *(first + 1) !=
'\0' && *second ==
'\0') {
26 if (*first ==
'?' || *first == *second) {
27 return match(first + 1, second + 1);
34 return match(first + 1, second) ||
match(first, second + 1);
41 for (
const auto&
f : first) {
42 if (match(
f.c_str(), second)) {