Lines Matching refs:resolved
54 * components. Returns (resolved) on success, or (NULL) on failure,
55 * in which case the path which caused trouble is left in (resolved).
58 realpath1(const char *path, char *resolved)
69 resolved[0] = '/';
70 resolved[1] = '\0';
72 return (resolved);
76 if (getcwd(resolved, PATH_MAX) == NULL) {
77 resolved[0] = '.';
78 resolved[1] = '\0';
81 resolved_len = strlen(resolved);
111 if (resolved[resolved_len - 1] != '/') {
116 resolved[resolved_len++] = '/';
117 resolved[resolved_len] = '\0';
130 resolved[resolved_len - 1] = '\0';
131 q = strrchr(resolved, '/') + 1;
133 resolved_len = q - resolved;
141 resolved_len = strlcat(resolved, next_token, PATH_MAX);
146 if (lstat(resolved, &sb) != 0)
153 slen = readlink(resolved, symlink, sizeof(symlink));
165 resolved[1] = 0;
169 q = strrchr(resolved, '/') + 1;
171 resolved_len = q - resolved;
203 * Remove trailing slash except when the resolved pathname
206 if (resolved_len > 1 && resolved[resolved_len - 1] == '/')
207 resolved[resolved_len - 1] = '\0';
208 return (resolved);
212 realpath(const char * __restrict path, char * __restrict resolved)
224 if (resolved != NULL) {
227 m = resolved = malloc(PATH_MAX);
228 if (resolved == NULL)
232 if (__realpathat(AT_FDCWD, path, resolved, PATH_MAX, 0) == 0)
233 return (resolved);
235 res = realpath1(path, resolved);