Need fixed fcatomic.c win32 widechar bug
if cache in Chinese path can't rename and rmdir fix from fccompat.c
#ifdef _WIN32
#include <wchar.h>
int fcunlink(const char * filename)
{
WCHAR wide_buffer[MAX_PATH];
if (MultiByteToWideChar(CP_UTF8, 0, filename, -1, wide_buffer, MAX_PATH) == 0)
return -1;
return _wunlink(wide_buffer);
}
#define unlink(path) fcunlink(path)
int fcrmdir(const char * dir)
{
WCHAR wide_buffer[MAX_PATH];
if (MultiByteToWideChar(CP_UTF8, 0, dir, -1, wide_buffer, MAX_PATH) == 0)
return -1;
return _wrmdir(wide_buffer);
}
#define rmdir(dir) fcrmdir(dir)
int fcrename(const char * srcpath,const char* dstpath)
{
WCHAR widesrcpath[MAX_PATH];
if (MultiByteToWideChar(CP_UTF8, 0, srcpath, -1, widesrcpath, MAX_PATH) == 0)
return -1;
WCHAR widedstpath[MAX_PATH];
if (MultiByteToWideChar(CP_UTF8, 0, dstpath, -1, widedstpath, MAX_PATH) == 0)
return -1;
return _wrename(widesrcpath, widedstpath);
}
#define rename(srcpath,dstpath) fcrename(srcpath,dstpath)
#endif
Edited by NOEXIST