Win32: Unicode file name support (dirent)
commit0217569bb2db23b8686f67b0f4dda7e517dec6fd
authorKarsten Blees <blees@dcon.de>
Sat, 14 Jan 2012 21:01:09 +0000 (14 22:01 +0100)
committerJunio C Hamano <gitster@pobox.com>
Tue, 15 Jul 2014 18:19:09 +0000 (15 11:19 -0700)
tree18e8aed19d5bbcc664c565c210477751c2230a67
parent85faec9d3acd8bb20e26e2d3386f7d3708d02fca
Win32: Unicode file name support (dirent)

Changes opendir/readdir to use Windows Unicode APIs and convert between
UTF-8/UTF-16.

Removes parameter checks that are already covered by xutftowcs_path. This
changes detection of ENAMETOOLONG from MAX_PATH - 2 to MAX_PATH (matching
is_dir_empty in mingw.c). If name + "/*" or the resulting absolute path is
too long, FindFirstFile fails and errno is set through err_win_to_posix.

Increases the size of dirent.d_name to accommodate the full
WIN32_FIND_DATA.cFileName converted to UTF-8 (UTF-16 to UTF-8 conversion
may grow by factor three in the worst case).

Signed-off-by: Karsten Blees <blees@dcon.de>
Signed-off-by: Stepan Kasal <kasal@ucw.cz>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
compat/win32/dirent.c
compat/win32/dirent.h