]> git.ipfire.org Git - thirdparty/util-linux.git/commit
rename: avoid undefined function prototype for `fpurge`
authorPatrick Steinhardt <ps@pks.im>
Wed, 26 Sep 2018 06:23:09 +0000 (08:23 +0200)
committerKarel Zak <kzak@redhat.com>
Thu, 4 Oct 2018 09:56:37 +0000 (11:56 +0200)
commitd2523d3dd2125903ff0e4655b4b4712f92e49d78
tree1894e50e595fb55e59188ed068298fee6729cd0d
parent6529212d5b0cbef222c81f7ecb58444e21acb417
rename: avoid undefined function prototype for `fpurge`

In case where the non-standard `fpurge` function is available, we
redefine `__fpurge` to `fpurge`. We can do so because the only
difference between both functions is that one returns an error code
while the other does not. But as we do not check the error code either
way, we do not care about which one of them we use.

The above redefinition happens unconditionally if we know that `fpurge`
exists. Most notably, we also redefine it if we already do have an
`__fpurge` function available that could be used. This causes problems
on musl-based platforms, where we detect availability of `fpurge` in
libc, but where no function declaration for it exists in "stdio_ext.h".
The compiler thus prints a warning due to an unknown function, even
though it will link just fine.

Avoid this warning by only redefining `__fpurge` to `fpurge` when
HAVE___FPURGE is not defined.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
misc-utils/rename.c