• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /barrelfish-2018-10-04/lib/libc/gen/

Lines Matching refs:pattern

55  *	Set in gl_flags if pattern contained a globbing character.
57 * Same as GLOB_NOCHECK, but it will only append pattern if it did
187 glob(const char * __restrict pattern, int flags,
198 patnext = pattern;
222 return (err_nomatch(pglob, &limit, pattern));
244 return (err_nomatch(pglob, &limit, pattern));
254 return (err_nomatch(pglob, &limit, pattern));
258 return (globexp0(patbuf, pglob, &limit, pattern));
260 return (glob0(patbuf, pglob, &limit, pattern));
264 globexp0(const Char *pattern, glob_t *pglob, struct glob_limit *limit,
270 if (pattern[0] == LBRACE && pattern[1] == RBRACE && pattern[2] == EOS) {
276 return (glob0(pattern, pglob, limit, origpat));
281 if ((rv = globexp1(pattern, pglob, limit)) != 0)
288 * Expand recursively a glob {} pattern. When there is no more expansion
293 globexp1(const Char *pattern, glob_t *pglob, struct glob_limit *limit)
297 if ((ptr = g_strchr(pattern, LBRACE)) != NULL) {
303 return (globexp2(ptr, pattern, pglob, limit));
306 return (glob0(pattern, pglob, limit, NULL));
312 * If it succeeds then it invokes globexp1 with the new pattern.
313 * If it fails then it tries to glob the rest of the pattern and returns.
316 globexp2(const Char *ptr, const Char *pattern, glob_t *pglob,
325 for (lm = patbuf, pm = pattern; pm != ptr; *lm++ = *pm++)
352 /* Non matching braces; just glob the pattern */
354 return (glob0(pattern, pglob, limit, NULL));
389 * Append the rest of the pattern after the
395 /* Expand the current pattern */
420 globtilde(const Char *pattern, Char *patbuf, size_t patbuf_len, glob_t *pglob)
433 if (*pattern != TILDE || !(pglob->gl_flags & GLOB_TILDE))
434 return (pattern);
440 for (p = pattern + 1, b = patbuf;
463 return (pattern);
473 return (pattern);
507 /* Append the rest of the pattern */
526 * The main glob() routine: compiles the pattern (optionally processing
527 * quotes), calls glob1() to do the real pattern matching, and finally
532 glob0(const Char *pattern, glob_t *pglob, struct glob_limit *limit,
539 qpatnext = globtilde(pattern, patbuf, MAXPATHLEN, pglob);
628 glob1(Char *pattern, glob_t *pglob, struct glob_limit *limit)
633 if (*pattern == EOS)
636 pattern, pglob, limit));
641 * of recursion for each segment in the pattern that contains one or more
645 glob2(Char *pathbuf, Char *pathend, Char *pathend_last, Char *pattern,
653 * Loop over pattern segments until end of pattern or until
657 if (*pattern == EOS) { /* End of pattern? */
686 p = pattern;
699 pattern = p;
700 while (UNPROT(*pattern) == SEP) {
705 *pathend++ = *pattern++;
708 return (glob3(pathbuf, pathend, pathend_last, pattern,
716 Char *pattern, Char *restpattern,
773 if (dp->d_name[0] == '.' && UNPROT(*pattern) != DOT) {
800 if (too_long || !match(pathend, pattern, restpattern)) {
906 * pattern matching function for filenames. Each occurrence of the *
907 * pattern causes a recursion level.