Lines Matching refs:pglob
171 glob_t *pglob) in glob() argument
179 pglob->gl_pathc = 0; in glob()
180 pglob->gl_pathv = NULL; in glob()
182 pglob->gl_offs = 0; in glob()
184 pglob->gl_flags = flags & ~GLOB_MAGCHAR; in glob()
185 pglob->gl_errfunc = errfunc; in glob()
186 pglob->gl_matchc = 0; in glob()
209 return globexp1(patbuf, pglob); in glob()
211 return glob0(patbuf, pglob); in glob()
219 static int globexp1(const Char *pattern, glob_t *pglob) in globexp1() argument
226 return glob0(pattern, pglob); in globexp1()
229 if (!globexp2(ptr, pattern, pglob, &rv)) in globexp1()
232 return glob0(pattern, pglob); in globexp1()
242 glob_t *pglob, int *rv) in globexp2() argument
278 *rv = glob0(patbuf, pglob); in globexp2()
325 *rv = globexp1(patbuf, pglob); in globexp2()
345 globtilde(const Char *pattern, Char *patbuf, glob_t *pglob) in globtilde() argument
352 if (*pattern != CHAR_TILDE || !(pglob->gl_flags & GLOB_TILDE)) in globtilde()
404 glob0(const Char *pattern, glob_t *pglob) in glob0() argument
411 qpatnext = globtilde(pattern, patbuf, pglob); in glob0()
412 oldpathc = pglob->gl_pathc; in glob0()
442 pglob->gl_flags |= GLOB_MAGCHAR; in glob0()
446 pglob->gl_flags |= GLOB_MAGCHAR; in glob0()
450 pglob->gl_flags |= GLOB_MAGCHAR; in glob0()
467 if ((err = glob1(patbuf, pglob, &limit)) != 0) in glob0()
476 if (pglob->gl_pathc == oldpathc && in glob0()
477 ((pglob->gl_flags & GLOB_NOCHECK) || in glob0()
478 ((pglob->gl_flags & GLOB_NOMAGIC) && in glob0()
479 !(pglob->gl_flags & GLOB_MAGCHAR)))) in glob0()
480 return(globextend(pattern, pglob, &limit)); in glob0()
481 else if (!(pglob->gl_flags & GLOB_NOSORT)) in glob0()
482 qsort(pglob->gl_pathv + pglob->gl_offs + oldpathc, in glob0()
483 pglob->gl_pathc - oldpathc, sizeof(char *), compare); in glob0()
494 glob1(Char *pattern, glob_t *pglob, size_t *limit) in glob1() argument
501 return(glob2(pathbuf, pathbuf, pattern, pglob, limit)); in glob1()
519 glob2(Char *pathbuf, Char *pathend, Char *pattern, glob_t *pglob, in glob2() argument
533 if (g_lstat(pathbuf, &sb, pglob)) in glob2()
536 if (((pglob->gl_flags & GLOB_MARK) && in glob2()
539 (g_stat(pathbuf, &sb, pglob) == 0) && in glob2()
544 ++pglob->gl_matchc; in glob2()
545 return(globextend(pathbuf, pglob, limit)); in glob2()
563 return(glob3(pathbuf, pathend, pattern, p, pglob, in glob2()
571 glob_t *pglob, size_t *limit) in glob3() argument
589 if ((dirp = g_opendir(pathbuf, pglob)) == NULL) { in glob3()
591 if (pglob->gl_errfunc) { in glob3()
593 if (pglob->gl_errfunc(buf, errno) || in glob3()
594 pglob->gl_flags & GLOB_ERR) in glob3()
603 if (pglob->gl_flags & GLOB_ALTDIRFUNC) in glob3()
604 readdirfunc = pglob->gl_readdir; in glob3()
621 err = glob2(pathbuf, --dc, restpattern, pglob, limit); in glob3()
626 if (pglob->gl_flags & GLOB_ALTDIRFUNC) in glob3()
627 (*pglob->gl_closedir)(dirp); in glob3()
649 globextend(const Char *path, glob_t *pglob, size_t *limit) in globextend() argument
657 newsize = sizeof(*pathv) * (2 + pglob->gl_pathc + pglob->gl_offs); in globextend()
658 pathv = pglob->gl_pathv ? in globextend()
659 realloc(pglob->gl_pathv, newsize) : in globextend()
664 if (pglob->gl_pathv == NULL && pglob->gl_offs > 0) { in globextend()
666 pathv += pglob->gl_offs; in globextend()
667 for (i = pglob->gl_offs; --i >= 0; ) in globextend()
670 pglob->gl_pathv = pathv; in globextend()
678 pathv[pglob->gl_offs + pglob->gl_pathc++] = copy; in globextend()
680 pathv[pglob->gl_offs + pglob->gl_pathc] = NULL; in globextend()
682 if ((pglob->gl_flags & GLOB_LIMIT) && (newsize + *limit) >= ARG_MAX) { in globextend()
743 globfree(glob_t *pglob) in globfree() argument
748 if (pglob->gl_pathv != NULL) { in globfree()
749 pp = pglob->gl_pathv + pglob->gl_offs; in globfree()
750 for (i = pglob->gl_pathc; i--; ++pp) in globfree()
753 free(pglob->gl_pathv); in globfree()
754 pglob->gl_pathv = NULL; in globfree()
759 g_opendir(Char *str, glob_t *pglob) in g_opendir() argument
768 if (pglob->gl_flags & GLOB_ALTDIRFUNC) in g_opendir()
769 return((*pglob->gl_opendir)(buf)); in g_opendir()
775 g_lstat(Char *fn, struct stat *sb, glob_t *pglob) in g_lstat() argument
780 if (pglob->gl_flags & GLOB_ALTDIRFUNC) in g_lstat()
781 return((*pglob->gl_lstat)(buf, sb)); in g_lstat()
786 g_stat(Char *fn, struct stat *sb, glob_t *pglob) in g_stat() argument
791 if (pglob->gl_flags & GLOB_ALTDIRFUNC) in g_stat()
792 return((*pglob->gl_stat)(buf, sb)); in g_stat()