Home | History | Annotate | Download | only in glob

Lines Matching refs:pattern

297 static int glob_in_dir __P ((const char *pattern, const char *directory,
305 int __glob_pattern_p __P ((const char *pattern, int quote));
308 /* Find the end of the sub-pattern in a brace expression. We define
353 /* Do glob searching for PATTERN, placing results in PGLOB.
362 glob (pattern, flags, errfunc, pglob)
363 const char *pattern;
374 if (pattern == NULL || pglob == NULL || (flags & ~__GLOB_FLAGS) != 0)
382 const char *begin = strchr (pattern, '{');
394 char onealt[strlen (pattern) - 1];
396 char *onealt = (char *) malloc (strlen (pattern) - 1);
407 alt_start = mempcpy (onealt, pattern, begin - pattern);
409 memcpy (onealt, pattern, begin - pattern);
410 alt_start = &onealt[begin - pattern];
413 /* Find the first sub-pattern and at the same time find the
422 return glob (pattern, flags & ~GLOB_BRACE, errfunc, pglob);
436 return glob (pattern, flags & ~GLOB_BRACE, errfunc, pglob);
508 filename = strrchr (pattern, '/');
510 /* The case of "d:pattern". Since `:' is not allowed in
512 happens in pattern, it signals the filename part. This
515 filename = strchr (pattern, ':');
521 if ((flags & (GLOB_TILDE|GLOB_TILDE_CHECK)) && pattern[0] == '~')
523 dirname = pattern;
524 dirlen = strlen (pattern);
533 filename = pattern;
542 else if (filename == pattern)
544 /* "/pattern". */
552 dirlen = filename - pattern;
555 || (filename > pattern + 1 && filename[-1] == ':'))
562 *((char *) mempcpy (drive_spec, pattern, dirlen)) = '\0';
564 memcpy (drive_spec, pattern, dirlen);
571 /* If this is "d:pattern", we need to copy `:' to DIRNAME
572 as well. If it's "d:/pattern", don't remove the slash
578 *((char *) mempcpy (newp, pattern, dirlen)) = '\0';
580 memcpy (newp, pattern, dirlen);
593 /* "pattern/". Expand "pattern", appending slashes. */
856 the pattern in each directory found. */
1168 /* Return nonzero if PATTERN contains any metacharacters.
1171 __glob_pattern_p (pattern, quote)
1172 const char *pattern;
1178 for (p = pattern; *p != '\0'; ++p)
1208 /* Like `glob', but PATTERN is a final pathname component,
1213 glob_in_dir (pattern, directory, flags, errfunc, pglob)
1214 const char *pattern;
1236 meta = __glob_pattern_p (pattern, !(flags & GLOB_NOESCAPE));
1240 /* We need not do any tests. The PATTERN contains no meta
1249 size_t patlen = strlen (pattern);
1256 pattern, patlen + 1);
1260 memcpy (&fullname[dirlen + 1], pattern, patlen + 1);
1274 if (pattern[0] == '\0')
1334 if (fnmatch (pattern, name, fnm_flags) == 0)
1360 size_t len = strlen (pattern);
1368 *((char *) mempcpy (names->name, pattern, len)) = '\0';
1370 memcpy (names->name, pattern, len);