Lines Matching defs:flags
49 static int pat_next(const char *pat, size_t m, size_t *step, int flags)
57 if (pat[0]=='\\' && pat[1] && !(flags & FNM_NOESCAPE)) {
163 static int fnmatch_internal(const char *pat, size_t m, const char *str, size_t n, int flags)
170 if (flags & FNM_PERIOD) {
175 switch ((c = pat_next(pat, m, &pinc, flags))) {
188 kfold = flags & FNM_CASEFOLD ? casefold(k) : k;
208 switch (pat_next(p, endpat-p, &pinc, flags)) {
242 c = pat_next(p, endpat-p, &pinc, flags);
249 kfold = flags & FNM_CASEFOLD ? casefold(k) : k;
267 c = pat_next(p, endpat-p, &pinc, flags);
278 kfold = flags & FNM_CASEFOLD ? casefold(k) : k;
298 int fnmatch(const char *pat, const char *str, int flags)
303 if (flags & FNM_PATHNAME) for (;;) {
305 for (p=pat; (c=pat_next(p, -1, &inc, flags))!=END && c!='/'; p+=inc);
306 if (c!=*s && (!*s || !(flags & FNM_LEADING_DIR)))
308 if (fnmatch_internal(pat, p-pat, str, s-str, flags))
313 } else if (flags & FNM_LEADING_DIR) {
316 if (!fnmatch_internal(pat, -1, str, s-str, flags))
320 return fnmatch_internal(pat, -1, str, -1, flags);