From 3b324ca62004b8ed56c3cba3ebdf61ef97b66324 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Wed, 9 Apr 2014 22:15:36 +0000 Subject: Remove NoObject reply, and adapt BackupQueries accordingly. --- bin/bbackupquery/BackupQueries.cpp | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'bin') diff --git a/bin/bbackupquery/BackupQueries.cpp b/bin/bbackupquery/BackupQueries.cpp index 413b5c1c..2c4c13d8 100644 --- a/bin/bbackupquery/BackupQueries.cpp +++ b/bin/bbackupquery/BackupQueries.cpp @@ -875,21 +875,27 @@ void BackupQueries::CommandGetObject(const std::vector &args, const { // Request object std::auto_ptr getobj(mrConnection.QueryGetObject(id)); - if(getobj->GetObjectID() != BackupProtocolGetObject::NoObject) - { - // Stream that object out to the file - std::auto_ptr objectStream(mrConnection.ReceiveStream()); - objectStream->CopyStreamTo(out); + + // Stream that object out to the file + std::auto_ptr objectStream(mrConnection.ReceiveStream()); + objectStream->CopyStreamTo(out); - BOX_INFO("Object ID " << BOX_FORMAT_OBJECTID(id) << - " fetched successfully."); - } - else + BOX_INFO("Object ID " << BOX_FORMAT_OBJECTID(id) << + " fetched successfully."); + } + catch(ConnectionException &e) + { + if(mrConnection.GetLastErrorType() == BackupProtocolError::Err_DoesNotExist) { BOX_ERROR("Object ID " << BOX_FORMAT_OBJECTID(id) << " does not exist on store."); ::unlink(args[1].c_str()); } + else + { + BOX_ERROR("Error occured fetching object."); + ::unlink(args[1].c_str()); + } } catch(...) { -- cgit v1.2.3