diff options
Diffstat (limited to 'otherlibs/unix/readdir.c')
-rw-r--r-- | otherlibs/unix/readdir.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/otherlibs/unix/readdir.c b/otherlibs/unix/readdir.c new file mode 100644 index 000000000..41093f95a --- /dev/null +++ b/otherlibs/unix/readdir.c @@ -0,0 +1,22 @@ +#include <mlvalues.h> +#include <fail.h> +#include <alloc.h> +#include "unix.h" +#include <sys/types.h> +#ifdef HAS_DIRENT +#include <dirent.h> +typedef struct dirent directory_entry; +#else +#include <sys/dir.h> +typedef struct direct directory_entry; +#endif + +value unix_readdir(d) /* ML */ + value d; +{ + directory_entry * e; + + e = readdir((DIR *) d); + if (e == (directory_entry *) NULL) mlraise(Atom(END_OF_FILE_EXN)); + return copy_string(e->d_name); +} |