mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-10-01 02:35:48 -04:00
win32 compatibility for moving files
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1099 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
97a1ac3422
commit
4d278ac414
@ -29,6 +29,8 @@
|
|||||||
#include "pqi/pqibin.h"
|
#include "pqi/pqibin.h"
|
||||||
#include "pqi/pqiarchive.h"
|
#include "pqi/pqiarchive.h"
|
||||||
#include "pqi/pqistreamer.h"
|
#include "pqi/pqistreamer.h"
|
||||||
|
#include "pqi/pqinotify.h"
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
#include "serialiser/rsconfigitems.h"
|
#include "serialiser/rsconfigitems.h"
|
||||||
|
|
||||||
@ -505,8 +507,26 @@ bool p3Config::saveConfiguration()
|
|||||||
|
|
||||||
std::cerr << "renaming " << fnametmp.c_str() << " to " << fname.c_str() << std::endl ;
|
std::cerr << "renaming " << fnametmp.c_str() << " to " << fname.c_str() << std::endl ;
|
||||||
|
|
||||||
if(0 != rename(fnametmp.c_str(),fname.c_str()))
|
#ifdef WIN32
|
||||||
|
std::wstring from,to ;
|
||||||
|
for(std::string::const_iterator it = fnametmp.begin(); it!=fnametmp.end();++it) from += *it;
|
||||||
|
for(std::string::const_iterator it = fname .begin(); it!=fname .end();++it) to += *it;
|
||||||
|
|
||||||
|
int err = !MoveFileEx(from.c_str(), to.c_str(), MOVEFILE_REPLACE_EXISTING) ;
|
||||||
|
#else
|
||||||
|
int err = rename(fnametmp.c_str(),fname.c_str());
|
||||||
|
#endif
|
||||||
|
if(0 != err)
|
||||||
|
{
|
||||||
|
std::ostringstream errlog;
|
||||||
|
#ifdef WIN32
|
||||||
|
errlog << err << ", " << errno ;
|
||||||
|
#else
|
||||||
|
errlog << err << :", " << GetLastError() ;
|
||||||
|
#endif
|
||||||
|
getPqiNotify()->AddSysMessage(0, RS_SYS_WARNING, "File rename error", "Error while renaming file " + fname + ": got error "+errlog.str());
|
||||||
return false ;
|
return false ;
|
||||||
|
}
|
||||||
|
|
||||||
std::cerr << "Successfully wrote p3config file " << fname.c_str() << std::endl ;
|
std::cerr << "Successfully wrote p3config file " << fname.c_str() << std::endl ;
|
||||||
/* else okay */
|
/* else okay */
|
||||||
|
@ -459,7 +459,15 @@ bool p3ChatService::saveConfiguration()
|
|||||||
setHash(out->gethash());
|
setHash(out->gethash());
|
||||||
delete pa_out;
|
delete pa_out;
|
||||||
|
|
||||||
|
#ifdef WIN32
|
||||||
|
std::wstring from,to ;
|
||||||
|
for(std::string::const_iterator it = msgfiletmp.begin(); it!=msgfiletmp.end();++it) from += *it;
|
||||||
|
for(std::string::const_iterator it = msgfile .begin(); it!=msgfile .end();++it) to += *it;
|
||||||
|
|
||||||
|
if(!MoveFileEx(from.c_str(), to.c_str(), MOVEFILE_REPLACE_EXISTING))
|
||||||
|
#else
|
||||||
if(0 != rename(msgfiletmp.c_str(),msgfile.c_str()))
|
if(0 != rename(msgfiletmp.c_str(),msgfile.c_str()))
|
||||||
|
#endif
|
||||||
return false ;
|
return false ;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -788,7 +788,15 @@ void p3GroupDistrib::locked_publishPendingMsgs()
|
|||||||
mPendingPublish.clear();
|
mPendingPublish.clear();
|
||||||
delete streamer;
|
delete streamer;
|
||||||
|
|
||||||
|
#ifdef WIN32
|
||||||
|
std::wstring from,to ;
|
||||||
|
for(std::string::const_iterator it = filenametmp.begin(); it!=filenametmp.end();++it) from += *it;
|
||||||
|
for(std::string::const_iterator it = filename .begin(); it!=filename .end();++it) to += *it;
|
||||||
|
|
||||||
|
if(!MoveFileEx(from.c_str(), to.c_str(), MOVEFILE_REPLACE_EXISTING))
|
||||||
|
#else
|
||||||
if(0 != rename(filenametmp.c_str(),filename.c_str()))
|
if(0 != rename(filenametmp.c_str(),filename.c_str()))
|
||||||
|
#endif
|
||||||
std::cerr << "Could not rename file " << filenametmp << " into " << filename << std::endl ;
|
std::cerr << "Could not rename file " << filenametmp << " into " << filename << std::endl ;
|
||||||
else
|
else
|
||||||
std::cerr << "Successfull wrote file " << filename << std::endl ;
|
std::cerr << "Successfull wrote file " << filename << std::endl ;
|
||||||
@ -925,7 +933,15 @@ void p3GroupDistrib::publishDistribGroups()
|
|||||||
/* cleanup */
|
/* cleanup */
|
||||||
delete streamer;
|
delete streamer;
|
||||||
|
|
||||||
|
#ifdef WIN32
|
||||||
|
std::wstring from,to ;
|
||||||
|
for(std::string::const_iterator it = filenametmp.begin(); it!=filenametmp.end();++it) from += *it;
|
||||||
|
for(std::string::const_iterator it = filename .begin(); it!=filename .end();++it) to += *it;
|
||||||
|
|
||||||
|
if(!MoveFileEx(from.c_str(), to.c_str(), MOVEFILE_REPLACE_EXISTING))
|
||||||
|
#else
|
||||||
if(0 != rename(filenametmp.c_str(),filename.c_str()))
|
if(0 != rename(filenametmp.c_str(),filename.c_str()))
|
||||||
|
#endif
|
||||||
std::cerr << "Could not rename file " << filenametmp << " into " << filename << std::endl ;
|
std::cerr << "Could not rename file " << filenametmp << " into " << filename << std::endl ;
|
||||||
else
|
else
|
||||||
std::cerr << "Successfull wrote file " << filename << std::endl ;
|
std::cerr << "Successfull wrote file " << filename << std::endl ;
|
||||||
|
@ -289,7 +289,15 @@ bool p3MsgService::saveConfiguration()
|
|||||||
if(!written)
|
if(!written)
|
||||||
return false ;
|
return false ;
|
||||||
|
|
||||||
|
#ifdef WIN32
|
||||||
|
std::wstring from,to ;
|
||||||
|
for(std::string::const_iterator it = msgfiletmp.begin(); it!=msgfiletmp.end();++it) from += *it;
|
||||||
|
for(std::string::const_iterator it = msgfile .begin(); it!=msgfile .end();++it) to += *it;
|
||||||
|
|
||||||
|
if(!MoveFileEx(from.c_str(), to.c_str(), MOVEFILE_REPLACE_EXISTING))
|
||||||
|
#else
|
||||||
if(0 != rename(msgfiletmp.c_str(),msgfile.c_str()))
|
if(0 != rename(msgfiletmp.c_str(),msgfile.c_str()))
|
||||||
|
#endif
|
||||||
return false ;
|
return false ;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
Reference in New Issue
Block a user