Lines Matching full:flags

51 static inline int foldcase(int ch, int flags)  in foldcase()  argument
54 if ((flags & FNM_CASEFOLD) != 0 && isupper(ch)) { in foldcase()
61 #define FOLDCASE(ch, flags) foldcase((unsigned char)(ch), (flags)) argument
63 static const char *rangematch(const char *pattern, int test, int flags) in rangematch() argument
84 for (need = true, ok = false, c = FOLDCASE(*pattern++, flags); c != ']' || need; in rangematch()
85 c = FOLDCASE(*pattern++, flags)) { in rangematch()
91 if (c == '\\' && !(flags & FNM_NOESCAPE)) { in rangematch()
92 c = FOLDCASE(*pattern++, flags); in rangematch()
100 c2 = FOLDCASE(*(pattern + 1), flags); in rangematch()
103 if (c2 == '\\' && !(flags & FNM_NOESCAPE)) { in rangematch()
104 c2 = FOLDCASE(*pattern++, flags); in rangematch()
123 static int fnmatchx(const char *pattern, const char *string, int flags, size_t recursion) in fnmatchx() argument
137 c = FOLDCASE(*pattern++, flags); in fnmatchx()
140 if ((flags & FNM_LEADING_DIR) && *string == '/') { in fnmatchx()
150 if (*string == '/' && (flags & FNM_PATHNAME)) { in fnmatchx()
154 if (*string == '.' && (flags & FNM_PERIOD) && in fnmatchx()
156 ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) { in fnmatchx()
163 c = FOLDCASE(*pattern, flags); in fnmatchx()
166 c = FOLDCASE(*++pattern, flags); in fnmatchx()
169 if (*string == '.' && (flags & FNM_PERIOD) && in fnmatchx()
171 ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) { in fnmatchx()
177 if (flags & FNM_PATHNAME) { in fnmatchx()
178 return (flags & FNM_LEADING_DIR) || in fnmatchx()
185 } else if (c == '/' && flags & FNM_PATHNAME) { in fnmatchx()
196 test = FOLDCASE(*string, flags); in fnmatchx()
201 int e = fnmatchx(pattern, string, flags & ~FNM_PERIOD, recursion); in fnmatchx()
207 if (test == '/' && flags & FNM_PATHNAME) { in fnmatchx()
220 if (*string == '/' && flags & FNM_PATHNAME) { in fnmatchx()
224 r = rangematch(pattern, FOLDCASE(*string, flags), flags); in fnmatchx()
240 if (!(flags & FNM_NOESCAPE)) { in fnmatchx()
241 c = FOLDCASE(*pattern++, flags); in fnmatchx()
249 if (c != FOLDCASE(*string++, flags)) { in fnmatchx()
258 int fnmatch(const char *pattern, const char *string, int flags) in fnmatch() argument
260 return fnmatchx(pattern, string, flags, 64); in fnmatch()