fixed bug #1378785 - RMDir /r does not remove files with Unicode names

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4475 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2006-01-13 18:45:52 +00:00
parent d7dc9025cd
commit 2296afc187

View file

@ -126,12 +126,16 @@ void NSISCALL myDelete(char *buf, int flags)
{
do
{
char *fdfn = fd.cFileName;
if (*findchar(fdfn, '?') && *fd.cAlternateFileName)
// name contains unicode, use short name
fdfn = fd.cAlternateFileName;
#ifdef NSIS_SUPPORT_RMDIR
if (fd.cFileName[0] != '.' ||
(fd.cFileName[1] != '.' && fd.cFileName[1]))
if (fdfn[0] != '.' || (fdfn[1] != '.' && fdfn[1]))
#endif//NSIS_SUPPORT_RMDIR
{
mystrcpy(fn,fd.cFileName);
mystrcpy(fn,fdfn);
if (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
#ifdef NSIS_SUPPORT_RMDIR