ECL didn't properly follow relative symlinks (fixed by Tim S.)

This commit is contained in:
jgarcia 2006-06-27 07:45:19 +00:00
parent 176bcbce13
commit 0344338e52
2 changed files with 10 additions and 1 deletions

View file

@ -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.

View file

@ -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;