mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-09 10:42:36 -08:00
ECL didn't properly follow relative symlinks (fixed by Tim S.)
This commit is contained in:
parent
176bcbce13
commit
0344338e52
2 changed files with 10 additions and 1 deletions
|
|
@ -272,6 +272,10 @@ ECL 0.9i
|
|||
|
||||
- [Win32] EXT::RUN-PROGRAM does not show a command window anymore (M. Goffioul)
|
||||
|
||||
- When a file is actually a symbolic link and this symbolic link contains a
|
||||
relative pathname, the truename is obtained by merging the symbolic link
|
||||
with the original pathname.
|
||||
|
||||
* Documentation:
|
||||
|
||||
- The HTML manuals now use CSS for a more appealing look.
|
||||
|
|
|
|||
|
|
@ -187,7 +187,12 @@ cl_truename(cl_object orig_pathname)
|
|||
FEcannot_open(orig_pathname);
|
||||
#ifdef HAVE_LSTAT
|
||||
} else if (kind == @':link') {
|
||||
filename = si_readlink(filename);
|
||||
/* The link might be a relative pathname. In that case we have
|
||||
* to merge with the original pathname */
|
||||
filename = cl_merge_pathnames(2, si_readlink(filename),
|
||||
make_pathname(Cnil, Cnil,
|
||||
cl_pathname_directory(1,filename),
|
||||
Cnil, Cnil, Cnil));
|
||||
#endif
|
||||
} else {
|
||||
filename = OBJNULL;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue