diff options
Diffstat (limited to 'lib/dirent-private.h')
-rw-r--r-- | lib/dirent-private.h | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/lib/dirent-private.h b/lib/dirent-private.h index f454e0e39a..012b683719 100644 --- a/lib/dirent-private.h +++ b/lib/dirent-private.h @@ -17,15 +17,36 @@ #ifndef _DIRENT_PRIVATE_H #define _DIRENT_PRIVATE_H 1 -#define WIN32_LEAN_AND_MEAN -#include <windows.h> +#if HAVE_DIRENT_H /* mingw */ + +# undef DIR + +struct gl_directory +{ + /* File descriptor to close during closedir(). + Needed for implementing fdopendir(). */ + int fd_to_close; + /* Pointer to the real DIR. */ + DIR *real_dirp; +}; + +/* Restore definition from dirent.h. */ +# define DIR struct gl_directory + +#else /* MSVC */ + +# define WIN32_LEAN_AND_MEAN +# include <windows.h> /* Don't assume that UNICODE is not defined. */ -#undef WIN32_FIND_DATA -#define WIN32_FIND_DATA WIN32_FIND_DATAA +# undef WIN32_FIND_DATA +# define WIN32_FIND_DATA WIN32_FIND_DATAA struct gl_directory { + /* File descriptor to close during closedir(). + Needed for implementing fdopendir(). */ + int fd_to_close; /* Status, or error code to produce in next readdir() call. -2 means the end of the directory is already reached, -1 means the entry was already filled by FindFirstFile, @@ -41,4 +62,6 @@ struct gl_directory char dir_name_mask[1]; }; +#endif + #endif /* _DIRENT_PRIVATE_H */ |