summaryrefslogtreecommitdiff
path: root/cpp/src/IcePatch2/Calc.cpp
diff options
context:
space:
mode:
authorMarc Laukien <marc@zeroc.com>2004-12-04 00:17:43 +0000
committerMarc Laukien <marc@zeroc.com>2004-12-04 00:17:43 +0000
commit9e78b114f037b641f6baeb2931e6030b6c86a5a9 (patch)
treefc8947f87bb1df44244451412262314296638945 /cpp/src/IcePatch2/Calc.cpp
parentfix (diff)
downloadice-9e78b114f037b641f6baeb2931e6030b6c86a5a9.tar.bz2
ice-9e78b114f037b641f6baeb2931e6030b6c86a5a9.tar.xz
ice-9e78b114f037b641f6baeb2931e6030b6c86a5a9.zip
fixes
Diffstat (limited to 'cpp/src/IcePatch2/Calc.cpp')
-rw-r--r--cpp/src/IcePatch2/Calc.cpp21
1 files changed, 12 insertions, 9 deletions
diff --git a/cpp/src/IcePatch2/Calc.cpp b/cpp/src/IcePatch2/Calc.cpp
index 192e023347d..a236dde862e 100644
--- a/cpp/src/IcePatch2/Calc.cpp
+++ b/cpp/src/IcePatch2/Calc.cpp
@@ -68,7 +68,7 @@ main(int argc, char* argv[])
{
if(dataDir.empty())
{
- dataDir = argv[i];
+ dataDir = normalize(argv[i]);
}
else
{
@@ -88,19 +88,22 @@ main(int argc, char* argv[])
try
{
+ if(dataDir[0] != '/')
+ {
#ifdef _WIN32
- char cwd[_MAX_PATH];
- if(_getcwd(cwd, _MAX_PATH) == NULL)
+ char cwd[_MAX_PATH];
+ if(_getcwd(cwd, _MAX_PATH) == NULL)
#else
- char cwd[PATH_MAX];
- if(getcwd(cwd, PATH_MAX) == NULL)
+ char cwd[PATH_MAX];
+ if(getcwd(cwd, PATH_MAX) == NULL)
#endif
- {
- throw "cannot get the current directory:\n" + lastError();
+ {
+ throw "cannot get the current directory:\n" + lastError();
+ }
+
+ dataDir = string(cwd) + '/' + dataDir;
}
- dataDir = normalize(string(cwd) + '/' + dataDir);
-
FileInfoSeq infoSeq;
getFileInfoSeq(dataDir, infoSeq, true, compress, verbose);
saveFileInfoSeq(dataDir, infoSeq);