Fix humongous bug with fdopendir on mac

https://opensource.apple.com/source/Libc/Libc-1244.1.7/include/dirent.h.auto.html

ccall picks the wrong one, causes crashes and truncated d_name
entries. Wrapping the function in a small C shim, as well as
using the CAPI, fixes this.
This commit is contained in:
2020-04-14 17:07:35 +02:00
parent 06b5a46cf8
commit 74d686547e
3 changed files with 11 additions and 4 deletions

View File

@@ -1,7 +1,7 @@
#include "dirutils.h"
unsigned int
__posixdir_d_type(struct dirent* d)
{
return(d -> d_type);
}

View File

@@ -7,7 +7,9 @@
#include <sys/stat.h>
#include <fcntl.h>
extern unsigned int
__posixdir_d_type(struct dirent* d)
;
#endif