From 481753bcc989ade3f46aba4c0a1289c168c1af1d Mon Sep 17 00:00:00 2001 From: Johns Date: Sun, 9 Sep 2012 16:49:58 +0200 Subject: Fix bug: Filter could destroy errno. --- readdir.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/readdir.c b/readdir.c index 457098a..2a5e400 100644 --- a/readdir.c +++ b/readdir.c @@ -302,9 +302,12 @@ int ScanDirectory(const char *name, int flag_dir, const NameFilter * filter, char *tmp; // skip hidden files, wrong kind, wrong suffix + save = errno; if (flag_dir ? !FilterIsDirectory(entry) : !FilterIsFile(entry)) { + errno = save; continue; } + errno = save; len = _D_ALLOC_NAMLEN(entry); if (!(tmp = malloc(len))) { -- cgit v1.2.3