Fixed problem with utf characters in the %APPDATA% path on Windows.

Added function for opening files on Windows and Linux - RsDirUtil::rs_fopen.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4124 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
thunder2 2011-04-03 23:11:38 +00:00
parent bc78397a64
commit bc113326e4
17 changed files with 109 additions and 119 deletions

View file

@ -682,7 +682,7 @@ bool ftController::moveFile(const std::string& source,const std::string& dest)
bool ftController::copyFile(const std::string& source,const std::string& dest)
{
FILE *in = fopen64(source.c_str(),"rb") ;
FILE *in = RsDirUtil::rs_fopen(source.c_str(),"rb") ;
if(in == NULL)
{
@ -690,7 +690,7 @@ bool ftController::copyFile(const std::string& source,const std::string& dest)
return false ;
}
FILE *out = fopen64(dest.c_str(),"wb") ;
FILE *out = RsDirUtil::rs_fopen(dest.c_str(),"wb") ;
if(out == NULL)
{
@ -1040,13 +1040,7 @@ bool ftController::FileRequest(const std::string& fname, const std::string& has
destination = dest + "/" + fname;
// create void file with the target name.
#ifdef WINDOWS_SYS
std::wstring destinationW;
librs::util::ConvertUtf8ToUtf16(destination, destinationW);
FILE *f = _wfopen(destinationW.c_str(), L"w");
#else
FILE *f = fopen64(destination.c_str(),"w") ;
#endif
FILE *f = RsDirUtil::rs_fopen(destination.c_str(),"w") ;
if(f == NULL)
std::cerr << "Could not open file " << destination << " for writting." << std::endl ;
else