[Box Backup-commit] COMMIT r1604 - box/chris/merge/bin/bbackupquery
boxbackup-dev at fluffy.co.uk
boxbackup-dev at fluffy.co.uk
Sat Apr 28 22:24:17 BST 2007
Author: chris
Date: 2007-04-28 22:24:17 +0100 (Sat, 28 Apr 2007)
New Revision: 1604
Modified:
box/chris/merge/bin/bbackupquery/BackupQueries.cpp
Log:
Return an error code on failure of lcd command.
Return an error code if get command fails due to the file already existing.
(refs #3, merges [1516])
Modified: box/chris/merge/bin/bbackupquery/BackupQueries.cpp
===================================================================
--- box/chris/merge/bin/bbackupquery/BackupQueries.cpp 2007-04-28 21:19:34 UTC (rev 1603)
+++ box/chris/merge/bin/bbackupquery/BackupQueries.cpp 2007-04-28 21:24:17 UTC (rev 1604)
@@ -55,11 +55,11 @@
#undef min
#undef max
-#define COMPARE_RETURN_SAME 1
+#define COMPARE_RETURN_SAME 1
#define COMPARE_RETURN_DIFFERENT 2
#define COMPARE_RETURN_ERROR 3
+#define COMMAND_RETURN_ERROR 4
-
// --------------------------------------------------------------------------
//
// Function
@@ -786,13 +786,19 @@
if(args.size() != 1 || args[0].size() == 0)
{
printf("Incorrect usage.\nlcd <local-directory>\n");
+ SetReturnCode(COMMAND_RETURN_ERROR);
return;
}
// Try changing directory
#ifdef WIN32
std::string dirName;
- if(!ConvertConsoleToUtf8(args[0].c_str(), dirName)) return;
+ if(!ConvertConsoleToUtf8(args[0].c_str(), dirName))
+ {
+ printf("Failed to convert path from console encoding.\n");
+ SetReturnCode(COMMAND_RETURN_ERROR);
+ return;
+ }
int result = ::chdir(dirName.c_str());
#else
int result = ::chdir(args[0].c_str());
@@ -801,6 +807,7 @@
{
printf((errno == ENOENT || errno == ENOTDIR)?"Directory '%s' does not exist\n":"Error changing dir to '%s'\n",
args[0].c_str());
+ SetReturnCode(COMMAND_RETURN_ERROR);
return;
}
@@ -809,11 +816,17 @@
if(::getcwd(wd, PATH_MAX) == 0)
{
printf("Error getting current directory\n");
+ SetReturnCode(COMMAND_RETURN_ERROR);
return;
}
#ifdef WIN32
- if(!ConvertUtf8ToConsole(wd, dirName)) return;
+ if(!ConvertUtf8ToConsole(wd, dirName))
+ {
+ printf("Failed to convert new path from console encoding.\n");
+ SetReturnCode(COMMAND_RETURN_ERROR);
+ return;
+ }
printf("Local current directory is now '%s'\n", dirName.c_str());
#else
printf("Local current directory is now '%s'\n", wd);
@@ -1014,7 +1027,9 @@
struct stat st;
if(::stat(localName.c_str(), &st) == 0 || errno != ENOENT)
{
- printf("The local file %s already exists, will not overwrite it.\n", localName.c_str());
+ printf("The local file %s already exists, will not "
+ "overwrite it.\n", localName.c_str());
+ SetReturnCode(COMMAND_RETURN_ERROR);
return;
}
More information about the Boxbackup-commit
mailing list