Set errno = 0 before calling readdir()
Technically speaking when calling readdir() "If  the  end  of  the
directory stream is reached, NULL is returned and errno is not changed."
Therefore if we want to test errno, we need to properly initialize it
before calling readdir().
@@ -523,6 +523,7 @@ struct dirent* mfu_readdir(DIR* dirp)
struct dirent* entry;
int tries = MFU_IO_TRIES;
retry:
+ errno = 0;
entry = readdir(dirp);
if (entry == NULL) {
if (errno == EINTR || errno == EIO || errno == ENOENT) {
