Lines Matching refs:path
98 * Pull a path name from user or kernel space.
122 * Pull a path name from user or kernel space.
137 * Set path name to argument string. Storage has already been allocated
143 pn_set(struct pathname *pnp, char *path)
148 error = copystr(path, pnp->pn_path, pnp->pn_bufsize, &pnp->pn_pathlen);
154 * Combine two argument path names by putting the second argument
158 * ensure that vnode path caching remains correct. At the point where this is
161 * how much of the pathname to replace. If the symlink is an absolute path,
170 * Full path, replace everything
183 * Partial path, replace only last component
226 * Get next component from a path name and leave in
233 char c, *cp, *path, saved;
236 path = pnp->pn_path;
239 saved = path[MAXNAMELEN];
240 path[MAXNAMELEN] = '/'; /* guarantees loop termination */
241 for (cp = path; (c = *cp) != '/'; cp++)
243 path[MAXNAMELEN] = saved;
244 if (cp - path == MAXNAMELEN)
247 path[pathlen] = '/'; /* guarantees loop termination */
248 for (cp = path; (c = *cp) != '/'; cp++)
250 path[pathlen] = '\0';
254 pnp->pn_pathlen = pathlen - (cp - path);
260 * Skip over consecutive slashes in the path name.
281 char *path = pnp->pn_path + pnp->pn_pathlen - 1;
284 while (path > buf && *path == '/')
285 --path;
286 endpath = path + 1;
287 while (path > buf && *path != '/')
288 --path;
289 if (*path == '/')
290 path++;
292 pnp->pn_path = path;
293 pnp->pn_pathlen = endpath - path;