diff -ru uClibc-0.9.28.3.orig/libc/misc/dirent/readdir_r.c uClibc-0.9.28.3/libc/misc/dirent/readdir_r.c --- uClibc-0.9.28.3.orig/libc/misc/dirent/readdir_r.c 2008-04-15 11:52:06 +0000 +++ uClibc-0.9.28.3/libc/misc/dirent/readdir_r.c 2008-04-15 11:53:31 +0000 @@ -25,7 +25,7 @@ bytes = __getdents(dir->dd_fd, dir->dd_buf, dir->dd_max); if (bytes <= 0) { *result = NULL; - ret = errno; + ret = (bytes==0)? 0 : errno; goto all_done; } dir->dd_size = bytes;