Lines Matching refs:pglob
152 # define GL_READDIR(pglob, stream) ((pglob)->gl_readdir (stream)) argument
207 glob_lstat (glob_t *pglob, int flags, const char *fullname) in glob_lstat() argument
217 ? pglob->GLOB_LSTAT (fullname, &ust.st) in glob_lstat()
246 glob_t *pglob, size_t alloca_used);
254 is_dir (char const *filename, int flags, glob_t const *pglob) in is_dir() argument
259 ? pglob->gl_stat (filename, &st) == 0 && S_ISDIR (st.st_mode) in is_dir()
302 glob_t *pglob) in __glob() argument
316 if (pattern == NULL || pglob == NULL || (flags & ~__GLOB_FLAGS) != 0) in __glob()
330 pglob->gl_offs = 0; in __glob()
334 pglob->gl_pathc = 0; in __glob()
336 pglob->gl_pathv = NULL; in __glob()
341 if (pglob->gl_offs >= ~((size_t) 0) / sizeof (char *)) in __glob()
344 pglob->gl_pathv = (char **) malloc ((pglob->gl_offs + 1) in __glob()
346 if (pglob->gl_pathv == NULL) in __glob()
349 for (i = 0; i <= pglob->gl_offs; ++i) in __glob()
350 pglob->gl_pathv[i] = NULL; in __glob()
436 firstc = pglob->gl_pathc; in __glob()
449 errfunc, pglob); in __glob()
458 globfree (pglob); in __glob()
459 pglob->gl_pathc = 0; in __glob()
476 if (pglob->gl_pathc != firstc) in __glob()
485 oldcount = pglob->gl_pathc + pglob->gl_offs; in __glob()
598 int val = __glob (dirname, flags | GLOB_MARK, errfunc, pglob); in __glob()
600 pglob->gl_flags = ((pglob->gl_flags & ~GLOB_MARK) in __glob()
607 oldcount = pglob->gl_pathc + pglob->gl_offs; in __glob()
896 size_t newcount = pglob->gl_pathc + pglob->gl_offs; in __glob()
902 free (pglob->gl_pathv); in __glob()
903 pglob->gl_pathv = NULL; in __glob()
904 pglob->gl_pathc = 0; in __glob()
909 new_gl_pathv = realloc (pglob->gl_pathv, in __glob()
913 pglob->gl_pathv = new_gl_pathv; in __glob()
915 if (flags & GLOB_MARK && is_dir (dirname, flags, pglob)) in __glob()
918 pglob->gl_pathv[newcount] = malloc (dirlen + 2); in __glob()
919 if (pglob->gl_pathv[newcount] == NULL) in __glob()
921 p = mempcpy (pglob->gl_pathv[newcount], dirname, dirlen); in __glob()
930 pglob->gl_pathv[newcount] = dirname; in __glob()
933 pglob->gl_pathv[newcount] = strdup (dirname); in __glob()
934 if (pglob->gl_pathv[newcount] == NULL) in __glob()
938 pglob->gl_pathv[++newcount] = NULL; in __glob()
939 ++pglob->gl_pathc; in __glob()
940 pglob->gl_flags = flags; in __glob()
973 dirs.gl_opendir = pglob->gl_opendir; in __glob()
974 dirs.gl_readdir = pglob->gl_readdir; in __glob()
975 dirs.gl_closedir = pglob->gl_closedir; in __glob()
976 dirs.gl_stat = pglob->gl_stat; in __glob()
977 dirs.gl_lstat = pglob->gl_lstat; in __glob()
1001 old_pathc = pglob->gl_pathc; in __glob()
1005 errfunc, pglob, alloca_used); in __glob()
1013 globfree (pglob); in __glob()
1014 pglob->gl_pathc = 0; in __glob()
1021 &pglob->gl_pathv[old_pathc + pglob->gl_offs], in __glob()
1022 pglob->gl_pathc - old_pathc)) in __glob()
1025 globfree (pglob); in __glob()
1026 pglob->gl_pathc = 0; in __glob()
1037 if (pglob->gl_pathc + pglob->gl_offs == oldcount) in __glob()
1043 size_t newcount = pglob->gl_pathc + pglob->gl_offs; in __glob()
1054 new_gl_pathv = realloc (pglob->gl_pathv, in __glob()
1058 pglob->gl_pathv = new_gl_pathv; in __glob()
1060 pglob->gl_pathv[newcount] = strdup (pattern); in __glob()
1061 if (pglob->gl_pathv[newcount] == NULL) in __glob()
1064 globfree (pglob); in __glob()
1065 pglob->gl_pathc = 0; in __glob()
1070 ++pglob->gl_pathc; in __glob()
1073 pglob->gl_pathv[newcount] = NULL; in __glob()
1074 pglob->gl_flags = flags; in __glob()
1088 size_t old_pathc = pglob->gl_pathc; in __glob()
1114 status = glob_in_dir (filename, dirname, flags, errfunc, pglob, in __glob()
1119 && pglob->gl_pathc + pglob->gl_offs == oldcount) in __glob()
1134 &pglob->gl_pathv[old_pathc + pglob->gl_offs], in __glob()
1135 pglob->gl_pathc - old_pathc)) in __glob()
1137 globfree (pglob); in __glob()
1138 pglob->gl_pathc = 0; in __glob()
1150 for (i = oldcount; i < pglob->gl_pathc + pglob->gl_offs; ++i) in __glob()
1151 if (is_dir (pglob->gl_pathv[i], flags, pglob)) in __glob()
1153 size_t len = strlen (pglob->gl_pathv[i]) + 2; in __glob()
1154 char *new = realloc (pglob->gl_pathv[i], len); in __glob()
1157 globfree (pglob); in __glob()
1158 pglob->gl_pathc = 0; in __glob()
1163 pglob->gl_pathv[i] = new; in __glob()
1170 qsort (&pglob->gl_pathv[oldcount], in __glob()
1171 pglob->gl_pathc + pglob->gl_offs - oldcount, in __glob()
1265 glob_t *pglob, size_t alloca_used) in glob_in_dir() argument
1317 if (glob_lstat (pglob, flags, fullname) == 0 in glob_in_dir()
1329 ? (*pglob->gl_opendir) (directory) in glob_in_dir()
1349 d = convert_dirent (GL_READDIR (pglob, stream)); in glob_in_dir()
1399 if (SIZE_MAX - pglob->gl_offs <= nfound) in glob_in_dir()
1422 if (SIZE_MAX / sizeof (char *) - pglob->gl_pathc in glob_in_dir()
1423 < pglob->gl_offs + nfound + 1) in glob_in_dir()
1427 = realloc (pglob->gl_pathv, in glob_in_dir()
1428 (pglob->gl_pathc + pglob->gl_offs + nfound + 1) in glob_in_dir()
1463 new_gl_pathv[pglob->gl_offs + pglob->gl_pathc++] in glob_in_dir()
1482 pglob->gl_pathv = new_gl_pathv; in glob_in_dir()
1484 pglob->gl_pathv[pglob->gl_offs + pglob->gl_pathc] = NULL; in glob_in_dir()
1486 pglob->gl_flags = flags; in glob_in_dir()
1494 (*pglob->gl_closedir) (stream); in glob_in_dir()