Merge with develop

--HG--
branch : compatibility-develop
This commit is contained in:
kervala 2016-06-14 23:00:20 +02:00
commit bb692940d2

View file

@ -49,28 +49,34 @@ void normalisePackageDescriptionFileName(std::string& fileName)
void GeneratePatch(const std::string& srcFileName,const std::string& destFileName,const std::string& patchFileName) void GeneratePatch(const std::string& srcFileName,const std::string& destFileName,const std::string& patchFileName)
{ {
std::string cmd="xdelta delta"; std::string cmd = toString("xdelta delta %s %s %s", srcFileName.c_str(), destFileName.c_str(), patchFileName.c_str());
cmd+=" "+srcFileName+" "+destFileName+" "+patchFileName;
nlinfo("executing system command: %s",cmd.c_str()); nlinfo("Executing system command: %s", cmd.c_str());
#ifdef NL_OS_WINDOWS #ifdef NL_OS_WINDOWS
_spawnlp(_P_WAIT, "xdelta.exe", "xdelta.exe", "delta", srcFileName.c_str(), destFileName.c_str(), patchFileName.c_str(), NULL); _spawnlp(_P_WAIT, "xdelta.exe", "xdelta.exe", "delta", srcFileName.c_str(), destFileName.c_str(), patchFileName.c_str(), NULL);
#else // NL_OS_WINDOWS #else // NL_OS_WINDOWS
// xdelta-1.x behaves like "diff" and returns 0 for identical files, 1 for different files, 2 for errors
sint error = system (cmd.c_str()); sint error = system (cmd.c_str());
if (error)
if (error == 2)
nlwarning("'%s' failed with error code %d", cmd.c_str(), error); nlwarning("'%s' failed with error code %d", cmd.c_str(), error);
#endif // NL_OS_WINDOWS #endif // NL_OS_WINDOWS
} }
void ApplyPatch(const std::string& srcFileName,const std::string& destFileName,const std::string& patchFileName=std::string()) void ApplyPatch(const std::string& srcFileName,const std::string& destFileName,const std::string& patchFileName=std::string())
{ {
std::string cmd="xdelta patch"; std::string cmd = toString("xdelta patch %s %s %s", patchFileName.c_str(), srcFileName.c_str(), destFileName.c_str());
cmd+=" "+patchFileName+" "+srcFileName+" "+destFileName;
nlinfo("executing system command: %s",cmd.c_str()); nlinfo("Executing system command: %s", cmd.c_str());
#ifdef NL_OS_WINDOWS #ifdef NL_OS_WINDOWS
_spawnlp(_P_WAIT, "xdelta.exe", "xdelta.exe", "patch",patchFileName.c_str(), srcFileName.c_str(), destFileName.c_str(), NULL); _spawnlp(_P_WAIT, "xdelta.exe", "xdelta.exe", "patch",patchFileName.c_str(), srcFileName.c_str(), destFileName.c_str(), NULL);
#else // NL_OS_WINDOWS #else // NL_OS_WINDOWS
// xdelta-1.x behaves like "diff" and returns 0 for identical files, 1 for different files, 2 for errors
sint error = system (cmd.c_str()); sint error = system (cmd.c_str());
if (error)
if (error == 2)
nlwarning("'%s' failed with error code %d", cmd.c_str(), error); nlwarning("'%s' failed with error code %d", cmd.c_str(), error);
#endif // NL_OS_WINDOWS #endif // NL_OS_WINDOWS
} }