Hi Chuck, Jørgen,
Chuck Bell, 28.04.2009 19:07:
...
> COMMENTARY
> ----------
> Very well done. :)
Jørgen Løland, 29.04.2009 11:13:
...
> COMMENT:
> --------
> Very nicely written patch. Well done!
Thank you for the worm words. :-)
Some time during my vacation, after I pushed the patch, I got aware that
my solution might not be optimal:
The current patch does not clean up ../ from paths if the preceding path
element is a symbolic link. This is important and correct, but perhaps
not sufficient.
The clean up of ../ is also done if the previous path element references
a nonexistent file system object. This is acceptable only as long as the
object remains non-existent. However, if it becomes a plain file, or
some other non-directory object, it might have been replaced by later
path elements and the resulting path would become invalid. For example,
assume this path:
dir/non-existent-file.txt/../existent-file.txt
The resulting path would be dir/existent-file.txt, which does not match
what standard file operations would do. ../ is a valid path element only
if the preceding element is an existing directory.
So I ask you, if you agree that I change safe_cleanup_cat_path() so that
it does not clean up ../ if the preceding path element is not a real
(non-symlink) directory?
Regards
Ingo
--
Ingo Strüwing, Database Group
Sun Microsystems GmbH, Sonnenallee 1, D-85551 Kirchheim-Heimstetten
Geschäftsführer: Thomas Schröder, Wolfgang Engels, Wolf Frenkel
Vorsitzender des Aufsichtsrates: Martin Häring HRB München 161028