summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorMarc Laukien <marc@zeroc.com>2004-12-04 00:47:01 +0000
committerMarc Laukien <marc@zeroc.com>2004-12-04 00:47:01 +0000
commitcb4469d100359a58a0116530ed5c93921d4a1d8b (patch)
treed38c2bd75d07c884cdde613c6c8682df35f11f67 /cpp/src
parenttested Python 2.4 (diff)
downloadice-cb4469d100359a58a0116530ed5c93921d4a1d8b.tar.bz2
ice-cb4469d100359a58a0116530ed5c93921d4a1d8b.tar.xz
ice-cb4469d100359a58a0116530ed5c93921d4a1d8b.zip
fixes
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/IcePatch2/Calc.cpp6
-rw-r--r--cpp/src/IcePatch2/Client.cpp5
-rwxr-xr-xcpp/src/IcePatch2/ClientUtil.cpp6
-rw-r--r--cpp/src/IcePatch2/Server.cpp6
4 files changed, 16 insertions, 7 deletions
diff --git a/cpp/src/IcePatch2/Calc.cpp b/cpp/src/IcePatch2/Calc.cpp
index a236dde862e..df8fe85fbe0 100644
--- a/cpp/src/IcePatch2/Calc.cpp
+++ b/cpp/src/IcePatch2/Calc.cpp
@@ -88,12 +88,14 @@ main(int argc, char* argv[])
try
{
- if(dataDir[0] != '/')
- {
#ifdef _WIN32
+ if(dataDir[0] != '/' && !(dataDir.size() > 1 && isalpha(dataDir[0]) && dataDir[1] == ':'))
+ {
char cwd[_MAX_PATH];
if(_getcwd(cwd, _MAX_PATH) == NULL)
#else
+ if(dataDir[0] != '/')
+ {
char cwd[PATH_MAX];
if(getcwd(cwd, PATH_MAX) == NULL)
#endif
diff --git a/cpp/src/IcePatch2/Client.cpp b/cpp/src/IcePatch2/Client.cpp
index d3c8d4a8156..db24c1cc0ea 100644
--- a/cpp/src/IcePatch2/Client.cpp
+++ b/cpp/src/IcePatch2/Client.cpp
@@ -238,7 +238,10 @@ Client::run(int argc, char* argv[])
aborted = !patcher->patch("");
}
- patcher->finish();
+ if(!aborted)
+ {
+ patcher->finish();
+ }
}
catch(const string& ex)
{
diff --git a/cpp/src/IcePatch2/ClientUtil.cpp b/cpp/src/IcePatch2/ClientUtil.cpp
index 9670736406a..d24669c72c8 100755
--- a/cpp/src/IcePatch2/ClientUtil.cpp
+++ b/cpp/src/IcePatch2/ClientUtil.cpp
@@ -156,12 +156,14 @@ IcePatch2::Patcher::Patcher(const CommunicatorPtr& communicator, const PatcherFe
const_cast<Int&>(_chunkSize) = 1;
}
- if(_dataDir[0] != '/')
- {
#ifdef _WIN32
+ if(_dataDir[0] != '/' && !(_dataDir.size() > 1 && isalpha(_dataDir[0]) && _dataDir[1] == ':'))
+ {
char cwd[_MAX_PATH];
if(_getcwd(cwd, _MAX_PATH) == NULL)
#else
+ if(_dataDir[0] != '/')
+ {
char cwd[PATH_MAX];
if(getcwd(cwd, PATH_MAX) == NULL)
#endif
diff --git a/cpp/src/IcePatch2/Server.cpp b/cpp/src/IcePatch2/Server.cpp
index a39d6c8a8c6..7eca8549383 100644
--- a/cpp/src/IcePatch2/Server.cpp
+++ b/cpp/src/IcePatch2/Server.cpp
@@ -120,12 +120,14 @@ IcePatch2::PatcherService::start(int argc, char* argv[])
try
{
- if(dataDir[0] != '/')
- {
#ifdef _WIN32
+ if(dataDir[0] != '/' && !(dataDir.size() > 1 && isalpha(dataDir[0]) && dataDir[1] == ':'))
+ {
char cwd[_MAX_PATH];
if(_getcwd(cwd, _MAX_PATH) == NULL)
#else
+ if(dataDir[0] != '/')
+ {
char cwd[PATH_MAX];
if(getcwd(cwd, PATH_MAX) == NULL)
#endif