Lines Matching defs:flags

63 foldcase(int ch, int flags)
66 if ((flags & FNM_CASEFOLD) != 0 && isupper(ch))
71 #define FOLDCASE(ch, flags) foldcase((unsigned char)(ch), (flags))
74 rangematch(const char *pattern, int test, int flags)
92 for (ok = 0; (c = FOLDCASE(*pattern++, flags)) != ']' || need;) {
96 if (c == '\\' && !(flags & FNM_NOESCAPE))
97 c = FOLDCASE(*pattern++, flags);
101 && (c2 = FOLDCASE(*(pattern + 1), flags)) != EOS &&
104 if (c2 == '\\' && !(flags & FNM_NOESCAPE))
105 c2 = FOLDCASE(*pattern++, flags);
118 fnmatchx(const char *pattern, const char *string, int flags, size_t recursion)
130 switch (c = FOLDCASE(*pattern++, flags)) {
132 if ((flags & FNM_LEADING_DIR) && *string == '/')
138 if (*string == '/' && (flags & FNM_PATHNAME))
140 if (*string == '.' && (flags & FNM_PERIOD) &&
142 ((flags & FNM_PATHNAME) && *(string - 1) == '/')))
147 c = FOLDCASE(*pattern, flags);
150 c = FOLDCASE(*++pattern, flags);
152 if (*string == '.' && (flags & FNM_PERIOD) &&
154 ((flags & FNM_PATHNAME) && *(string - 1) == '/')))
159 if (flags & FNM_PATHNAME)
160 return (flags & FNM_LEADING_DIR) ||
165 } else if (c == '/' && flags & FNM_PATHNAME) {
172 while ((test = FOLDCASE(*string, flags)) != EOS) {
175 flags & ~FNM_PERIOD, recursion))) {
181 if (test == '/' && flags & FNM_PATHNAME)
189 if (*string == '/' && flags & FNM_PATHNAME)
192 FOLDCASE(*string, flags), flags)) == NULL)
202 if (!(flags & FNM_NOESCAPE)) {
203 if ((c = FOLDCASE(*pattern++, flags)) == EOS) {
210 if (c != FOLDCASE(*string++, flags))
219 fnmatch(const char *pattern, const char *string, int flags)
221 return fnmatchx(pattern, string, flags, 64);