Lines Matching refs:rpnp
125 struct pathname *rpnp, in lookuppn() argument
130 return (lookuppnatcred(pnp, rpnp, followlink, dirvpp, compvpp, NULL, in lookuppn()
140 struct pathname *rpnp, /* if non-NULL, return resolved path */ in lookuppnatcred() argument
178 return (lookuppnvp(pnp, rpnp, followlink, dirvpp, in lookuppnatcred()
183 lookuppnat(struct pathname *pnp, struct pathname *rpnp, in lookuppnat() argument
187 return (lookuppnatcred(pnp, rpnp, followlink, dirvpp, compvpp, startvp, in lookuppnat()
213 struct pathname *rpnp, /* if non-NULL, return resolved path */ in lookuppnvp() argument
237 if (rpnp) in lookuppnvp()
238 rpnp->pn_pathlen = 0; in lookuppnvp()
272 if (rpnp && VN_CMP(vp, rootvp)) in lookuppnvp()
273 (void) pn_set(rpnp, "/"); in lookuppnvp()
505 if (rpnp && strcmp(component, ".") != 0) { in lookuppnvp()
509 rpnp->pn_pathlen != 0 && in lookuppnvp()
510 !((rpnp->pn_pathlen > 2 && in lookuppnvp()
511 strncmp(rpnp->pn_path+rpnp->pn_pathlen-3, "/..", 3) == 0) || in lookuppnvp()
512 (rpnp->pn_pathlen == 2 && in lookuppnvp()
513 strncmp(rpnp->pn_path, "..", 2) == 0))) { in lookuppnvp()
514 while (rpnp->pn_pathlen && in lookuppnvp()
515 rpnp->pn_path[rpnp->pn_pathlen-1] != '/') in lookuppnvp()
516 rpnp->pn_pathlen--; in lookuppnvp()
517 if (rpnp->pn_pathlen > 1) in lookuppnvp()
518 rpnp->pn_pathlen--; in lookuppnvp()
519 rpnp->pn_path[rpnp->pn_pathlen] = '\0'; in lookuppnvp()
521 if (rpnp->pn_pathlen != 0 && in lookuppnvp()
522 rpnp->pn_path[rpnp->pn_pathlen-1] != '/') in lookuppnvp()
523 rpnp->pn_path[rpnp->pn_pathlen++] = '/'; in lookuppnvp()
530 rpnp->pn_path + rpnp->pn_pathlen, in lookuppnvp()
531 rpnp->pn_bufsize - rpnp->pn_pathlen, &len); in lookuppnvp()
534 rpnp->pn_path + rpnp->pn_pathlen, in lookuppnvp()
535 rpnp->pn_bufsize - rpnp->pn_pathlen, &len); in lookuppnvp()
539 rpnp->pn_pathlen += (len - 1); in lookuppnvp()
540 ASSERT(rpnp->pn_bufsize > rpnp->pn_pathlen); in lookuppnvp()
584 if (rpnp) { in lookuppnvp()
586 (void) pn_set(rpnp, "/"); in lookuppnvp()
587 else if (rpnp->pn_pathlen == 0) in lookuppnvp()
588 (void) pn_set(rpnp, "."); in lookuppnvp()
1408 pathname_t rpnp, pnp; in dogetcwd() local
1440 pn_alloc(&rpnp); in dogetcwd()
1442 if (lookuppn(&pnp, &rpnp, NO_FOLLOW, NULL, &compvp) == 0) { in dogetcwd()
1445 strcmp(value, rpnp.pn_path) == 0) { in dogetcwd()
1449 pn_free(&rpnp); in dogetcwd()
1462 pn_free(&rpnp); in dogetcwd()