+ if (ex->match_flags & MATCHFLG_WILD) {
+ int fnmatch_flags = (ex->match_flags & MATCHFLG_WILD2)?
+ 0 : FNM_PATHNAME;
+ /* A non-anchored match with an infix slash and no "**"
+ * needs to match the last slash_cnt+1 name elements. */
+ if (!match_start && ex->slash_cnt &&
+ !(ex->match_flags & MATCHFLG_WILD2)) {
+ int cnt = ex->slash_cnt + 1;
+ for (p = name + strlen(name) - 1; p >= name; p--) {
+ if (*p == '/' && !--cnt)
+ break;
+ }
+ name = p+1;
+ }
+ if (fnmatch(pattern, name, fnmatch_flags) == 0)