There is a problem with the handling of closed file descriptors in diff-3.7: As mentioned in [1], the 'new-file' test fails on HP-UX. An investigation [2] shows that different coding techniques are needed, depending on the desired outcome for closed file descriptors. This patch uses a variant of (A) from [2]. Namely, the result of fcntl can apparently be used to distinguish the substitute file descriptor stuffed in by exec() from a regular open("/dev/null",O_RDONLY). [1] https://lists.gnu.org/archive/html/diffutils-devel/2018-12/msg00019.html [2] https://lists.gnu.org/archive/html/bug-gnulib/2019-01/msg00012.html