Lines Matching refs:p

70 #define	ALIGN(p)	(((unsigned long int) (p) + ALIGNBYTES) & ~ALIGNBYTES)  argument
124 FTSENTRY *p, *root; in FTS_OPEN() local
173 p = fts_alloc(sp, *argv, len); in FTS_OPEN()
174 p->fts_level = FTS_ROOTLEVEL; in FTS_OPEN()
175 p->fts_parent = parent; in FTS_OPEN()
176 p->fts_accpath = p->fts_name; in FTS_OPEN()
177 p->fts_info = fts_stat(sp, p, ISSET(FTS_COMFOLLOW)); in FTS_OPEN()
180 if (p->fts_info == FTS_DOT) in FTS_OPEN()
181 p->fts_info = FTS_D; in FTS_OPEN()
188 p->fts_link = root; in FTS_OPEN()
189 root = p; in FTS_OPEN()
191 p->fts_link = NULL; in FTS_OPEN()
193 tmp = root = p; in FTS_OPEN()
195 tmp->fts_link = p; in FTS_OPEN()
196 tmp = p; in FTS_OPEN()
234 fts_load (FTSOBJ *sp, FTSENTRY *p) in fts_load() argument
246 len = p->fts_pathlen = p->fts_namelen; in fts_load()
247 memmove(sp->fts_path, p->fts_name, len + 1); in fts_load()
248 if ((cp = strrchr(p->fts_name, '/')) && (cp != p->fts_name || cp[1])) { in fts_load()
250 memmove(p->fts_name, cp, len + 1); in fts_load()
251 p->fts_namelen = len; in fts_load()
253 p->fts_accpath = p->fts_path = sp->fts_path; in fts_load()
254 sp->fts_dev = p->fts_dev; in fts_load()
260 FTSENTRY *freep, *p; in FTS_CLOSE() local
269 for (p = sp->fts_cur; p->fts_level >= FTS_ROOTLEVEL;) { in FTS_CLOSE()
270 freep = p; in FTS_CLOSE()
271 p = p->fts_link != NULL ? p->fts_link : p->fts_parent; in FTS_CLOSE()
274 free(p); in FTS_CLOSE()
306 #define NAPPEND(p) \ argument
307 (p->fts_path[p->fts_pathlen - 1] == '/' \
308 ? p->fts_pathlen - 1 : p->fts_pathlen)
313 FTSENTRY *p, *tmp; in FTS_READ() local
323 p = sp->fts_cur; in FTS_READ()
326 instr = p->fts_instr; in FTS_READ()
327 p->fts_instr = FTS_NOINSTR; in FTS_READ()
331 p->fts_info = fts_stat(sp, p, 0); in FTS_READ()
332 return (p); in FTS_READ()
342 (p->fts_info == FTS_SL || p->fts_info == FTS_SLNONE)) { in FTS_READ()
343 p->fts_info = fts_stat(sp, p, 1); in FTS_READ()
344 if (p->fts_info == FTS_D && !ISSET(FTS_NOCHDIR)) { in FTS_READ()
345 if ((p->fts_symfd = __open(".", O_RDONLY, 0)) < 0) { in FTS_READ()
346 p->fts_errno = errno; in FTS_READ()
347 p->fts_info = FTS_ERR; in FTS_READ()
349 p->fts_flags |= FTS_SYMFOLLOW; in FTS_READ()
351 return (p); in FTS_READ()
355 if (p->fts_info == FTS_D) { in FTS_READ()
358 (ISSET(FTS_XDEV) && p->fts_dev != sp->fts_dev)) { in FTS_READ()
359 if (p->fts_flags & FTS_SYMFOLLOW) in FTS_READ()
360 (void)__close(p->fts_symfd); in FTS_READ()
365 p->fts_info = FTS_DP; in FTS_READ()
366 return (p); in FTS_READ()
389 if (fts_safe_changedir(sp, p, -1, p->fts_accpath)) { in FTS_READ()
390 p->fts_errno = errno; in FTS_READ()
391 p->fts_flags |= FTS_DONTCHDIR; in FTS_READ()
392 for (p = sp->fts_child; p != NULL; in FTS_READ()
393 p = p->fts_link) in FTS_READ()
394 p->fts_accpath = in FTS_READ()
395 p->fts_parent->fts_accpath; in FTS_READ()
400 return (p); in FTS_READ()
402 p = sp->fts_child; in FTS_READ()
404 sp->fts_cur = p; in FTS_READ()
409 next: tmp = p; in FTS_READ()
410 if ((p = p->fts_link) != NULL) { in FTS_READ()
411 sp->fts_cur = p; in FTS_READ()
418 if (p->fts_level == FTS_ROOTLEVEL) { in FTS_READ()
423 fts_load(sp, p); in FTS_READ()
424 return p; in FTS_READ()
432 if (p->fts_instr == FTS_SKIP) in FTS_READ()
434 if (p->fts_instr == FTS_FOLLOW) { in FTS_READ()
435 p->fts_info = fts_stat(sp, p, 1); in FTS_READ()
436 if (p->fts_info == FTS_D && !ISSET(FTS_NOCHDIR)) { in FTS_READ()
437 if ((p->fts_symfd = in FTS_READ()
439 p->fts_errno = errno; in FTS_READ()
440 p->fts_info = FTS_ERR; in FTS_READ()
442 p->fts_flags |= FTS_SYMFOLLOW; in FTS_READ()
444 p->fts_instr = FTS_NOINSTR; in FTS_READ()
447 name: t = sp->fts_path + NAPPEND(p->fts_parent); in FTS_READ()
449 memmove(t, p->fts_name, p->fts_namelen + 1); in FTS_READ()
450 return p; in FTS_READ()
454 p = tmp->fts_parent; in FTS_READ()
455 sp->fts_cur = p; in FTS_READ()
458 if (p->fts_level == FTS_ROOTPARENTLEVEL) { in FTS_READ()
463 free(p); in FTS_READ()
469 sp->fts_path[p->fts_pathlen] = '\0'; in FTS_READ()
476 if (p->fts_level == FTS_ROOTLEVEL) { in FTS_READ()
481 } else if (p->fts_flags & FTS_SYMFOLLOW) { in FTS_READ()
482 if (FCHDIR(sp, p->fts_symfd)) { in FTS_READ()
484 (void)__close(p->fts_symfd); in FTS_READ()
489 (void)__close(p->fts_symfd); in FTS_READ()
490 } else if (!(p->fts_flags & FTS_DONTCHDIR) && in FTS_READ()
491 fts_safe_changedir(sp, p->fts_parent, -1, "..")) { in FTS_READ()
495 p->fts_info = p->fts_errno ? FTS_ERR : FTS_DP; in FTS_READ()
496 return p; in FTS_READ()
507 FTS_SET (FTSOBJ *sp, FTSENTRY *p, int instr) in FTS_SET() argument
514 p->fts_instr = instr; in FTS_SET()
521 FTSENTRY *p; in FTS_CHILDREN() local
530 p = sp->fts_cur; in FTS_CHILDREN()
543 if (p->fts_info == FTS_INIT) in FTS_CHILDREN()
544 return (p->fts_link); in FTS_CHILDREN()
551 if (p->fts_info != FTS_D /* && p->fts_info != FTS_DNR */) in FTS_CHILDREN()
571 if (p->fts_level != FTS_ROOTLEVEL || p->fts_accpath[0] == '/' || in FTS_CHILDREN()
612 FTSENTRY *p, *head; in fts_build() local
726 if ((p = fts_alloc(sp, dp->d_name, _D_EXACT_NAMLEN (dp))) == NULL) in fts_build()
737 free(p); in fts_build()
761 free(p); in fts_build()
769 p->fts_level = level; in fts_build()
770 p->fts_parent = sp->fts_cur; in fts_build()
771 p->fts_pathlen = len + _D_EXACT_NAMLEN (dp); in fts_build()
775 p->fts_flags |= FTS_ISW; in fts_build()
783 p->fts_info = FTS_NS; in fts_build()
784 p->fts_errno = cderrno; in fts_build()
786 p->fts_info = FTS_NSOK; in fts_build()
787 p->fts_accpath = cur->fts_accpath; in fts_build()
790 p->fts_accpath = in fts_build()
791 ISSET(FTS_NOCHDIR) ? p->fts_path : p->fts_name; in fts_build()
792 p->fts_info = FTS_NSOK; in fts_build()
796 p->fts_accpath = p->fts_path; in fts_build()
797 memmove(cp, p->fts_name, p->fts_namelen + 1); in fts_build()
799 p->fts_accpath = p->fts_name; in fts_build()
801 p->fts_info = fts_stat(sp, p, 0); in fts_build()
804 if (nlinks > 0 && (p->fts_info == FTS_D || in fts_build()
805 p->fts_info == FTS_DC || p->fts_info == FTS_DOT)) in fts_build()
810 p->fts_link = NULL; in fts_build()
812 head = tail = p; in fts_build()
814 tail->fts_link = p; in fts_build()
815 tail = p; in fts_build()
871 fts_stat (FTSOBJ *sp, FTSENTRY *p, int follow) in fts_stat() argument
880 sbp = ISSET(FTS_NOSTAT) ? &sb : p->fts_statp; in fts_stat()
884 if (p->fts_flags & FTS_ISW) { in fts_stat()
899 if (STAT(p->fts_accpath, sbp)) { in fts_stat()
901 if (!LSTAT(p->fts_accpath, sbp)) { in fts_stat()
905 p->fts_errno = saved_errno; in fts_stat()
908 } else if (LSTAT(p->fts_accpath, sbp)) { in fts_stat()
909 p->fts_errno = errno; in fts_stat()
922 dev = p->fts_dev = sbp->st_dev; in fts_stat()
923 ino = p->fts_ino = sbp->st_ino; in fts_stat()
924 p->fts_nlink = sbp->st_nlink; in fts_stat()
926 if (ISDOT(p->fts_name)) in fts_stat()
935 for (t = p->fts_parent; in fts_stat()
938 p->fts_cycle = t; in fts_stat()
953 FTSENTRY **ap, *p; in fts_sort() local
975 for (ap = sp->fts_array, p = head; p; p = p->fts_link) in fts_sort()
976 *ap++ = p; in fts_sort()
987 FTSENTRY *p; in fts_alloc() local
1001 if ((p = malloc(len)) == NULL) in fts_alloc()
1005 memmove(p->fts_name, name, namelen); in fts_alloc()
1006 p->fts_name[namelen] = '\0'; in fts_alloc()
1009 p->fts_statp = (struct STRUCT_STAT *)ALIGN(p->fts_name + namelen + 2); in fts_alloc()
1010 p->fts_namelen = namelen; in fts_alloc()
1011 p->fts_path = sp->fts_path; in fts_alloc()
1012 p->fts_errno = 0; in fts_alloc()
1013 p->fts_flags = 0; in fts_alloc()
1014 p->fts_instr = FTS_NOINSTR; in fts_alloc()
1015 p->fts_number = 0; in fts_alloc()
1016 p->fts_pointer = NULL; in fts_alloc()
1017 return (p); in fts_alloc()
1023 FTSENTRY *p; in fts_lfree() local
1026 while ((p = head)) { in fts_lfree()
1028 free(p); in fts_lfree()
1041 char *p; in fts_palloc() local
1055 p = realloc(sp->fts_path, sp->fts_pathlen); in fts_palloc()
1056 if (p == NULL) { in fts_palloc()
1061 sp->fts_path = p; in fts_palloc()
1072 FTSENTRY *p; in fts_padjust() local
1075 #define ADJUST(p) do { \ in fts_padjust() argument
1076 if ((p)->fts_accpath != (p)->fts_name) { \ in fts_padjust()
1077 (p)->fts_accpath = \ in fts_padjust()
1078 (char *)addr + ((p)->fts_accpath - (p)->fts_path); \ in fts_padjust()
1080 (p)->fts_path = addr; \ in fts_padjust()
1083 for (p = sp->fts_child; p; p = p->fts_link) in fts_padjust()
1084 ADJUST(p); in fts_padjust()
1087 for (p = head; p->fts_level >= FTS_ROOTLEVEL;) { in fts_padjust()
1088 ADJUST(p); in fts_padjust()
1089 p = p->fts_link ? p->fts_link : p->fts_parent; in fts_padjust()
1110 fts_safe_changedir (FTSOBJ *sp, FTSENTRY *p, int fd, const char *path) in fts_safe_changedir() argument
1124 if (p->fts_dev != sb.st_dev || p->fts_ino != sb.st_ino) { in fts_safe_changedir()