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

@ -305,24 +305,14 @@ int ftFileProvider::initializeFileAttrs()
* attempt to open file
*/
#ifdef WINDOWS_SYS
std::wstring wfile_name;
librs::util::ConvertUtf8ToUtf16(file_name, wfile_name);
fd = _wfopen(wfile_name.c_str(), L"r+b");
#else
fd = fopen64(file_name.c_str(), "r+b");
#endif
fd = RsDirUtil::rs_fopen(file_name.c_str(), "r+b");
if (!fd)
{
std::cerr << "ftFileProvider::initializeFileAttrs() Failed to open (r+b): ";
std::cerr << file_name << std::endl;
/* try opening read only */
#ifdef WINDOWS_SYS
fd = _wfopen(wfile_name.c_str(), L"rb");
#else
fd = fopen64(file_name.c_str(), "rb");
#endif
fd = RsDirUtil::rs_fopen(file_name.c_str(), "rb");
if (!fd)
{
std::cerr << "ftFileProvider::initializeFileAttrs() Failed to open (rb): ";