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()
515 if (rpnp && strcmp(component, ".") != 0) { in lookuppnvp()
519 rpnp->pn_pathlen != 0 && in lookuppnvp()
520 !((rpnp->pn_pathlen > 2 && in lookuppnvp()
521 strncmp(rpnp->pn_path+rpnp->pn_pathlen-3, "/..", 3) == 0) || in lookuppnvp()
522 (rpnp->pn_pathlen == 2 && in lookuppnvp()
523 strncmp(rpnp->pn_path, "..", 2) == 0))) { in lookuppnvp()
524 while (rpnp->pn_pathlen && in lookuppnvp()
525 rpnp->pn_path[rpnp->pn_pathlen-1] != '/') in lookuppnvp()
526 rpnp->pn_pathlen--; in lookuppnvp()
527 if (rpnp->pn_pathlen > 1) in lookuppnvp()
528 rpnp->pn_pathlen--; in lookuppnvp()
529 rpnp->pn_path[rpnp->pn_pathlen] = '\0'; in lookuppnvp()
531 if (rpnp->pn_pathlen != 0 && in lookuppnvp()
532 rpnp->pn_path[rpnp->pn_pathlen-1] != '/') in lookuppnvp()
533 rpnp->pn_path[rpnp->pn_pathlen++] = '/'; in lookuppnvp()
540 rpnp->pn_path + rpnp->pn_pathlen, in lookuppnvp()
541 rpnp->pn_bufsize - rpnp->pn_pathlen, &len); in lookuppnvp()
544 rpnp->pn_path + rpnp->pn_pathlen, in lookuppnvp()
545 rpnp->pn_bufsize - rpnp->pn_pathlen, &len); in lookuppnvp()
549 rpnp->pn_pathlen += (len - 1); in lookuppnvp()
550 ASSERT(rpnp->pn_bufsize > rpnp->pn_pathlen); in lookuppnvp()
594 if (rpnp) { in lookuppnvp()
596 (void) pn_set(rpnp, "/"); in lookuppnvp()
597 else if (rpnp->pn_pathlen == 0) in lookuppnvp()
598 (void) pn_set(rpnp, "."); in lookuppnvp()
1418 pathname_t rpnp, pnp; in dogetcwd() local
1450 pn_alloc(&rpnp); in dogetcwd()
1452 if (lookuppn(&pnp, &rpnp, NO_FOLLOW, NULL, &compvp) == 0) { in dogetcwd()
1455 strcmp(value, rpnp.pn_path) == 0) { in dogetcwd()
1459 pn_free(&rpnp); in dogetcwd()
1472 pn_free(&rpnp); in dogetcwd()