Bug#239427: Bug#239342: Coreutils readlink program to be changed
--- Miquel van Smoorenburg <miquels@cistron.nl> wrote:
> > DVL's opinion is that the realpath(3) function should not be changed.
> > I agree with that.
>
> Well, the glibc version of realpath is still broken.
>
> realpath("/bin/ls/.") returns "/bin/ls" and that is nonsense. /bin/ls
> is not a directory.
Yes, that should be reported.
> Also, the documentation still says:
>
> Function: char * canonicalize_file_name (const char *name)
>
> The canonicalize_file_name function returns the absolute name of
> the file named by name which contains no ., .. components nor any
> repeated path separators (/) or symlinks. The result is passed
> back as the return value of the function in a block of memory
> allocated with malloc. If the result is not used anymore the
> memory should be freed with a call to free.
>
> In any of the path components except the last one is missing the
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> function returns a NULL pointer. This is also what is returned if
> the length of the path reaches or exceeds PATH_MAX characters. In
> any case errno is set accordingly.
>
> Function: char * realpath (const char *restrict name, char *restrict
> resolved)
>
> A call to realpath where the resolved parameter is NULL behaves
> exactly like canonicalize_file_name.
I have reported one of these bugs at #239427. I am cc:ing this there.
Cheers
--
Thomas
____________________________________________________________
Yahoo! Messenger - Communicate instantly..."Ping"
your friends today! Download Messenger Now
http://uk.messenger.yahoo.com/download/index.html
Reply to: