#include #include #include #include #include #include int main(int argc, char *argv[]) { if (argc < 2) { printf("usage: %s [...]\n", argc > 0 ? *argv : "dontneed"); return EX_USAGE; } int ret = EX_OK; while (++argv, --argc > 0) { int fd = open(*argv, O_RDONLY); if (fd < 0) { error(0, errno, "%s", *argv); ret = ret ?: EX_NOINPUT; continue; } if (posix_fadvise(fd, 0, 0, POSIX_FADV_DONTNEED) < 0) { error(0, errno, "%s: posix_fadvise", *argv); ret = EX_OSERR; } if (close(fd) < 0) error(EX_OSERR, errno, "%s: close", *argv); } return ret; }