mirror of
https://github.com/git/git.git
synced 2024-11-18 04:04:11 +01:00
d1b6e6e015
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>
7 lines
113 B
C
7 lines
113 B
C
#include "../git-compat-util.h"
|
|
#include "win32.h"
|
|
#include <conio.h>
|
|
#include "../strbuf.h"
|
|
|
|
#include "mingw.c"
|