#include <errno.h> /* EINVAL, ELOOP, ENOTDIR, etc. */
#include <fcntl.h> /* openat() */
#include <libgen.h> /* basename(), dirname() */
+#include <limits.h> /* PATH_MAX */
#include <stdbool.h> /* the "bool" type */
#include <stdio.h> /* perror(), asprintf() */
#include <stdlib.h> /* free() */