dlls/shell32/shfldr_unixfs.c breaks non-GNU/Linux platforms

Coleman Kane ckane at intellitree.com
Wed Feb 1 11:01:51 CST 2006


Perhaps build a configurable option to use canonicalize_file_name if it
exists, and fall back on realpath if it doesn't... realpath is supposed
to be safe if you use necessary precautions...

On Wed, 2006-02-01 at 17:45 +0100, Michael Jung wrote:
> Hi Gerald,
> 
> On Wednesday 01 February 2006 16:25, you wrote:
> > The following patches to dlls/shell32/shfldr_unixfs.c break FreeBSD
> > and other non-GNU platforms:
> 
> <snip>
> 
> > The reason is that canonicalize_file_name() is not found during linking.
> >
> > The man page for this function states "The function is a GNU extension",
> > so this clearly kills portability. :-(
> 
> We could fall back to "realpath", if "canonicalize_file_name" is not 
> available. However the man page on "realpath" states:
> "Never use this function. It is broken by design"
> 
> Do you know of a function on BSD, which can be applied here? If all else 
> fails, we'll have to re-implement path-canonicalization. But I would prefer 
> to use a library function.
> 
> Bye,




More information about the wine-devel mailing list