Open VoxSciurorum opened 6 months ago
kcmp was added to /usr/include/unicode.h post FreeBSD-14.0.
As kcmp is local to src/cmd/sort.c , renaming it to keycmp would fix this without impacting anything else.
I'll rename it to ${PORTNAME}_kcmp()
for the time being to unbreak the FreeBSD port, but admittedly keycmp()
looks more descriptive. If it's local to sort.c
, perhaps it could be also declared as static
?
Declaring it static (and no name change) would work.
Recent development versions of FreeBSD define a function
kcmp
in<unistd.h>
This conflicts with
int kcmp(Key *ka, Key *kb)
defined insrc/cmd/sort.c
causing a compilation error.The
kcmp
system call also exists on Linux but there is no C library wrapper to conflict. kcmp(2): "Glibc does not provide a wrapper for this system call; call it using syscall(2)."