From ce6beccb0639bd0ad769ba84c2b47d6c9f18dabe Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Tue, 6 Jul 2010 21:05:06 +0000 Subject: Fix Windows compile errors. --- bin/bbackupquery/BackupQueries.cpp | 4 ++-- bin/bbackupquery/BackupQueries.h | 2 ++ bin/bbackupquery/bbackupquery.cpp | 20 ++++++++++++++++++-- 3 files changed, 22 insertions(+), 4 deletions(-) (limited to 'bin/bbackupquery') diff --git a/bin/bbackupquery/BackupQueries.cpp b/bin/bbackupquery/BackupQueries.cpp index e488823d..c7dd82c2 100644 --- a/bin/bbackupquery/BackupQueries.cpp +++ b/bin/bbackupquery/BackupQueries.cpp @@ -199,7 +199,7 @@ BackupQueries::ParseCommand(const std::string& Command, bool isFromCommandLine) GetConsoleCP())) { BOX_ERROR("Failed to convert encoding"); - return; + parsed.failed = true; } parsed.completeCommand = converted; @@ -212,7 +212,7 @@ BackupQueries::ParseCommand(const std::string& Command, bool isFromCommandLine) GetConsoleCP())) { BOX_ERROR("Failed to convert encoding"); - return; + parsed.failed = true; } *i = converted; diff --git a/bin/bbackupquery/BackupQueries.h b/bin/bbackupquery/BackupQueries.h index 4651cd9e..5d562103 100644 --- a/bin/bbackupquery/BackupQueries.h +++ b/bin/bbackupquery/BackupQueries.h @@ -89,6 +89,8 @@ public: std::vector cmdElements; std::string options; std::string completeCommand; + bool failed; + ParsedCommand() : failed(false) { } }; ParsedCommand ParseCommand(const std::string& Command, diff --git a/bin/bbackupquery/bbackupquery.cpp b/bin/bbackupquery/bbackupquery.cpp index 7726f429..90fa74b5 100644 --- a/bin/bbackupquery/bbackupquery.cpp +++ b/bin/bbackupquery/bbackupquery.cpp @@ -447,7 +447,15 @@ int main(int argc, const char *argv[]) { BackupQueries::ParsedCommand cmd( context.ParseCommand(argv[c++], true)); - context.DoCommand(cmd); + + if(cmd.failed) + { + BOX_ERROR("Parse failed"); + } + else + { + context.DoCommand(cmd); + } } } @@ -492,8 +500,16 @@ int main(int argc, const char *argv[]) BackupQueries::ParsedCommand cmd( context.ParseCommand(command, false)); - context.DoCommand(cmd); + if(cmd.failed) + { + BOX_ERROR("Parse failed"); + } + else + { + context.DoCommand(cmd); + } + if(last_cmd != 0 && ::strcmp(last_cmd, command) == 0) { free(command); -- cgit v1.2.3