In the function file_connect_unix(), Pike_sp[-args].u.string->len is checked against PATH_MAX, and then its strcpy'd into name.sun_path. The size of a sockaddr_un.sun_path isn't standard, and can be much smaller than PATH_MAX.
How should this be fixed, changing the PATH_MAX test to a sizeof(name.sun_path)? Or removing that check altogether, using strncpy and then checking for truncation and giving a "path too long" error instead of the current "Illegal argument. Expected string(8bit)"?
I think my vote is on a configure test for PATH_MAX.
Is it worth adding configure tests for strlcpy/cat and using those instead of strncpy/cat?
strlcpy is faster than strncpy, so we would like to use it when it exsits. Perhaps use a definition in port.h?