~ chicken-core (chicken-5) 58abd3efed4136166b68334f65ea755104e67ffd
commit 58abd3efed4136166b68334f65ea755104e67ffd
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Wed Jun 11 13:28:09 2025 +0100
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Wed Jun 11 13:28:09 2025 +0100
fix uses of _wreaddir
diff --git a/file.scm b/file.scm
index 6ad25359..045ac615 100644
--- a/file.scm
+++ b/file.scm
@@ -85,14 +85,15 @@ static C_word C_foundfile(C_word e,C_word b,C_word l) {
C_strlcpy(C_c_string(b), s, C_unfix(l));
return(C_fix(strlen(s)));
}
-
+# define C_readdir(h,e) C_set_block_item(e, 0, (C_word) _wreaddir((_WDIR *)C_block_item(h, 0)))
+# define C_closedir(h) (_wclosedir((_WDIR *)C_block_item(h, 0)), C_SCHEME_UNDEFINED)
#else
# define C_opendir(s,h) C_set_block_item(h, 0, (C_word) opendir(C_c_string(s)))
# define C_foundfile(e,b,l) (C_strlcpy(C_c_string(b), ((struct dirent *)C_block_item(e, 0))->d_name, C_unfix(l)), C_fix(strlen(((struct dirent *) C_block_item(e, 0))->d_name)))
-#endif
-#define C_readdir(h,e) C_set_block_item(e, 0, (C_word) readdir((DIR *)C_block_item(h, 0)))
-#define C_closedir(h) (closedir((DIR *)C_block_item(h, 0)), C_SCHEME_UNDEFINED)
+# define C_readdir(h,e) C_set_block_item(e, 0, (C_word) readdir((DIR *)C_block_item(h, 0)))
+# define C_closedir(h) (closedir((DIR *)C_block_item(h, 0)), C_SCHEME_UNDEFINED)
+#endif
static C_word C_u_i_symbolic_linkp(C_word path)
{
Trap