diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c index 41880f4..6e38743 100644 --- a/dlls/ntdll/directory.c +++ b/dlls/ntdll/directory.c @@ -129,6 +129,16 @@ static inline int getdents64( int fd, char *de, unsigned int size ) #endif /* linux */ +#if defined (__NetBSD__) /* getdirentries is broken on NetBSD */ + +int getdirentries_netbsd(int fd, char *buf, int nbytes, long *basep) +{ + *basep = (long)lseek(fd, 0, SEEK_CUR); + return getdents(fd, buf, (size_t)nbytes); +} +#define getdirentries getdirentries_netbsd +#endif + #define IS_OPTION_TRUE(ch) ((ch) == 'y' || (ch) == 'Y' || (ch) == 't' || (ch) == 'T' || (ch) == '1') #define IS_SEPARATOR(ch) ((ch) == '\\' || (ch) == '/')