
On Wednesday, 2 May 2018 18:32:25 CEST Daniel P. Berrangé wrote:
On Mon, Apr 30, 2018 at 06:52:58PM +0200, Andrea Bolognani wrote:
The latter is a glibc extension that's not available on other operating systems, notably FreeBSD.
So far we have worked around the issue through gnulib, but that makes it difficult to use mocking in our test suite, so just drop it in favor of the portable alternative.
Sigh, unfortunately realpath() has its own portability problems in that passing NULL as second arg was a glibc invention, which is why we switched from realpath() to canonicalize_file_name() in the first place !
It was, but then this behaviour was standardized in POSIX 2007: http://pubs.opengroup.org/onlinepubs/9699919799/functions/realpath.html
So I wonder if this actually works on OS-X, Mingw and FreeBSD, or whether you didn't see the bug because it is mocked in the tests ?
Most probably because they implement the realpath(.., NULL) semantics, as described by POSIX. -- Pino Toscano