Lines Matching defs:pattern

50  *	Set in gl_flags if pattern contained a globbing character.
52 * Same as GLOB_NOCHECK, but it will only append pattern if it did
172 glob(const char *pattern, int flags, int (*errfunc)(const char *, int), glob_t *pglob)
181 patnext = pattern;
241 * Expand recursively a glob {} pattern. When there is no more expansion
246 globexp1(const Char *pattern, glob_t *pglob, size_t *limit)
248 const Char* ptr = pattern;
252 if (pattern[0] == LBRACE && pattern[1] == RBRACE && pattern[2] == EOS)
253 return glob0(pattern, pglob, limit);
256 if (!globexp2(ptr, pattern, pglob, &rv, limit))
259 return glob0(pattern, pglob, limit);
265 * If it succeeds then it invokes globexp1 with the new pattern.
266 * If it fails then it tries to glob the rest of the pattern and returns.
269 globexp2(const Char *ptr, const Char *pattern, glob_t *pglob, int *rv, size_t *limit)
277 for (lm = patbuf, pm = pattern; pm != ptr; *lm++ = *pm++)
304 /* Non matching braces; just glob the pattern */
343 * Append the rest of the pattern after the
349 /* Expand the current pattern */
373 globtilde(const Char *pattern, Char *patbuf, size_t patbuf_len, glob_t *pglob)
380 if (*pattern != TILDE || !(pglob->gl_flags & GLOB_TILDE))
381 return pattern;
387 for (p = pattern + 1, h = (char *) patbuf;
409 return pattern;
417 return pattern;
426 /* Append the rest of the pattern */
436 * The main glob() routine: compiles the pattern (optionally processing
437 * quotes), calls glob1() to do the real pattern matching, and finally
442 glob0(const Char *pattern, glob_t *pglob, size_t *limit)
449 qpatnext = globtilde(pattern, patbuf, MAXPATHLEN, pglob);
509 * If there was no match we are going to append the pattern
511 * and the pattern did not contain any magic characters
518 return(globextend(pattern, pglob, limit));
535 glob1(Char *pattern, glob_t *pglob, size_t *limit)
540 if (*pattern == EOS)
543 pattern, pglob, limit));
548 * of recursion for each segment in the pattern that contains one or more
552 glob2(Char *pathbuf, Char *pathend, Char *pathend_last, Char *pattern,
560 * Loop over pattern segments until end of pattern or until
564 if (*pattern == EOS) { /* End of pattern? */
585 p = pattern;
596 pattern = p;
597 while (*pattern == SEP) {
600 *pathend++ = *pattern++;
603 return(glob3(pathbuf, pathend, pathend_last, pattern, p,
611 Char *pattern, Char *restpattern,
659 if (dp->d_name[0] == DOT && *pattern != DOT)
675 if (!match(pathend, pattern, restpattern)) {
755 * pattern matching function for filenames. Each occurrence of the *
756 * pattern causes a recursion level.