Index: fusl/src/dirent/readdir_r.c |
diff --git a/fusl/src/dirent/readdir_r.c b/fusl/src/dirent/readdir_r.c |
index daa6c6ed608449051ae46fcf800fa521dbc24fa1..30beb25747aa6c08e19e2bed3558a2bfc868b820 100644 |
--- a/fusl/src/dirent/readdir_r.c |
+++ b/fusl/src/dirent/readdir_r.c |
@@ -4,26 +4,29 @@ |
#include "__dirent.h" |
#include "libc.h" |
-int readdir_r(DIR *restrict dir, struct dirent *restrict buf, struct dirent **restrict result) |
-{ |
- struct dirent *de; |
- int errno_save = errno; |
- int ret; |
- |
- LOCK(dir->lock); |
- errno = 0; |
- de = readdir(dir); |
- if ((ret = errno)) { |
- UNLOCK(dir->lock); |
- return ret; |
- } |
- errno = errno_save; |
- if (de) memcpy(buf, de, de->d_reclen); |
- else buf = NULL; |
+int readdir_r(DIR* restrict dir, |
+ struct dirent* restrict buf, |
+ struct dirent** restrict result) { |
+ struct dirent* de; |
+ int errno_save = errno; |
+ int ret; |
- UNLOCK(dir->lock); |
- *result = buf; |
- return 0; |
+ LOCK(dir->lock); |
+ errno = 0; |
+ de = readdir(dir); |
+ if ((ret = errno)) { |
+ UNLOCK(dir->lock); |
+ return ret; |
+ } |
+ errno = errno_save; |
+ if (de) |
+ memcpy(buf, de, de->d_reclen); |
+ else |
+ buf = NULL; |
+ |
+ UNLOCK(dir->lock); |
+ *result = buf; |
+ return 0; |
} |
LFS64_2(readdir_r, readdir64_r); |