kcmp in cmd/sort.c conflicts with FreeBSD system header file
VoxSciurorum opened this issue · 1 comments
VoxSciurorum commented
Recent development versions of FreeBSD define a function kcmp
in <unistd.h>
kcmp(pid_t pid1, pid_t pid2, int type, uintptr_t idx1, uintptr_t idx2);
This conflicts with int kcmp(Key *ka, Key *kb)
defined in src/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)."
bakul commented
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.