version 1.206, 2010/03/12 11:37:40 |
version 1.207, 2010/03/25 23:38:28 |
|
|
char * |
char * |
derelativise_path(const char *path) |
derelativise_path(const char *path) |
{ |
{ |
char *expanded, *ret, *cwd; |
char *expanded, *ret, cwd[MAXPATHLEN]; |
|
|
expanded = tilde_expand_filename(path, getuid()); |
expanded = tilde_expand_filename(path, getuid()); |
if (*expanded == '/') |
if (*expanded == '/') |
return expanded; |
return expanded; |
if ((cwd = getcwd(NULL, 0)) == NULL) |
if (getcwd(cwd, sizeof(cwd)) == NULL) |
fatal("%s: getcwd: %s", __func__, strerror(errno)); |
fatal("%s: getcwd: %s", __func__, strerror(errno)); |
xasprintf(&ret, "%s/%s", cwd, expanded); |
xasprintf(&ret, "%s/%s", cwd, expanded); |
free(cwd); |
|
xfree(expanded); |
xfree(expanded); |
return ret; |
return ret; |
} |
} |