git-commit-vandalism/compat/win32
Erik Faye-Lund d1b6e6e015 win32: use our own dirent.h
The mingw-runtime implemenation of opendir, readdir and closedir
sets errno to 0 on success, something that POSIX explicitly
forbids. 3ba7a06 ("A loose object is not corrupt if it cannot be
read due to EMFILE") introduce a dependency on this behaviour,
leading to a broken "git clone" on Windows.

compat/mingw.c contains an implementation of readdir, and
compat/msvc.c contains implementations of opendir and closedir.

Move these to compat/win32/dirent.[ch], and change to our own DIR
structure at the same time.

This provides a generic Win32-implementation of opendir, readdir
and closedir which works on both MinGW and MSVC and does not reset
errno, and as a result git clone is working again on Windows.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-11-23 16:06:50 -08:00
..
sys mingw: use poll-emulation from gnulib 2010-11-04 16:53:51 -07:00
dirent.c win32: use our own dirent.h 2010-11-23 16:06:50 -08:00
dirent.h win32: use our own dirent.h 2010-11-23 16:06:50 -08:00
pthread.c Windows: more pthreads functions 2010-03-07 00:37:36 -08:00
pthread.h Merge branch 'js/async-thread' 2010-06-21 06:02:45 -07:00
syslog.c mingw: implement syslog 2010-11-04 16:53:49 -07:00
syslog.h mingw: implement syslog 2010-11-04 16:53:49 -07:00