Re: realpath(3) bugs

Michael Kerrisk (man-pages)
2012-05-04T22:54:10Z

Hello Casper,

On Fri, May 4, 2012 at 11:22 PM, <Casper.Dik-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org> wrote:
>
>
> For some reason, many of the realpath() manual pages  (BSD, Linux) have
> words to the following effect:
>
>        Solaris may return a relative pathname when the path argument is relative.
>
> I have looked through the Solaris source files and have found no
> such bug reported or fixed; the implementation from at least 1997 and
> beyond certainly doesn't have this problem and even the older versions
> prepend getcwd() or chdir() to dirname and run getcwd() in that
> directory.
>
> Solaris does have a system call which may return relative pathnames:
> resolvepath().  I believe that that function may have confused earlier
> writers of realpath() manual pages and this was later copied without
> verifying that fact.
>
> realpath() existed in Solaris 2.0 as it came from SVr4.0 and even at that
> time i t returned the full, non-relative path.

There is unfortunately no indication of how that text came to be in
the page. It appears to have been added when Andries rewrote the Linux
man page in 1999, so I've CCed Andries on the small chance he may
remember something of where the text came from.

Given the info you've provided, I've deleted this text from the Linux
page (well, commented it out in the source). Thanks for the report.

Cheers,

Michael

--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Author of "The Linux Programming Interface"; http://man7.org/tlpi/