Fixed: xdelta 1.x returns 2 when an error occurs (0 or 1 is a success)

--HG--
branch : develop
feature/pipeline-tools
kervala 9 years ago
parent d55c2b25c4
commit ae94fb3f1a

@ -55,8 +55,10 @@ void GeneratePatch(const std::string& srcFileName,const std::string& destFileNam
#ifdef NL_OS_WINDOWS
_spawnlp(_P_WAIT, "xdelta.exe","xdelta.exe","delta",srcFileName.c_str(),destFileName.c_str(),patchFileName.c_str(),NULL);
#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());
if (error)
if (error == 2)
nlwarning("'%s' failed with error code %d", cmd.c_str(), error);
#endif // NL_OS_WINDOWS
}
@ -69,8 +71,10 @@ void ApplyPatch(const std::string& srcFileName,const std::string& destFileName,c
#ifdef NL_OS_WINDOWS
_spawnlp(_P_WAIT, "xdelta.exe","xdelta.exe","patch",patchFileName.c_str(),srcFileName.c_str(),destFileName.c_str(),NULL);
#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());
if (error)
if (error == 2)
nlwarning("'%s' failed with error code %d", cmd.c_str(), error);
#endif // NL_OS_WINDOWS
}

Loading…
Cancel
Save