summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohns <johns98@gmx.net>2012-09-09 16:49:58 +0200
committerJohns <johns98@gmx.net>2012-09-09 16:49:58 +0200
commit481753bcc989ade3f46aba4c0a1289c168c1af1d (patch)
tree37ea902121585cacffd7301573dfa2f3ac4f22f1
parent8f78b33fec109fcd8bfda99add349bf7219c4dc5 (diff)
downloadvdr-plugin-play-481753bcc989ade3f46aba4c0a1289c168c1af1d.tar.gz
vdr-plugin-play-481753bcc989ade3f46aba4c0a1289c168c1af1d.tar.bz2
Fix bug: Filter could destroy errno.
-rw-r--r--readdir.c3
1 files changed, 3 insertions, 0 deletions
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))) {