Lines Matching defs:string
54 #include <string.h>
118 fnmatchx(const char *pattern, const char *string, int flags, size_t recursion)
124 _DIAGASSERT(string != NULL);
129 for (stringstart = string;;) {
132 if ((flags & FNM_LEADING_DIR) && *string == '/')
134 return *string == EOS ? 0 : FNM_NOMATCH;
136 if (*string == EOS)
138 if (*string == '/' && (flags & FNM_PATHNAME))
140 if (*string == '.' && (flags & FNM_PERIOD) &&
141 (string == stringstart ||
142 ((flags & FNM_PATHNAME) && *(string - 1) == '/')))
144 ++string;
152 if (*string == '.' && (flags & FNM_PERIOD) &&
153 (string == stringstart ||
154 ((flags & FNM_PATHNAME) && *(string - 1) == '/')))
161 strchr(string, '/') == NULL ?
166 if ((string = strchr(string, '/')) == NULL)
172 while ((test = FOLDCASE(*string, flags)) != EOS) {
174 switch ((e = fnmatchx(pattern, string,
183 ++string;
187 if (*string == EOS)
189 if (*string == '/' && flags & FNM_PATHNAME)
192 FOLDCASE(*string, flags), flags)) == NULL)
195 if (*string != '[')
199 ++string;
210 if (c != FOLDCASE(*string++, flags))
219 fnmatch(const char *pattern, const char *string, int flags)
221 return fnmatchx(pattern, string, flags, 64);