summaryrefslogtreecommitdiff
path: root/cpp/demo/Freeze/phonebook/Client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/demo/Freeze/phonebook/Client.cpp')
-rw-r--r--cpp/demo/Freeze/phonebook/Client.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/cpp/demo/Freeze/phonebook/Client.cpp b/cpp/demo/Freeze/phonebook/Client.cpp
index 1e9768337fd..56a89f135f9 100644
--- a/cpp/demo/Freeze/phonebook/Client.cpp
+++ b/cpp/demo/Freeze/phonebook/Client.cpp
@@ -92,9 +92,21 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
}
PropertiesPtr properties = communicator->getProperties();
- std::string ref = properties->getProperty("PhoneBook.PhoneBook");
+ const char* refProperty = "PhoneBook.PhoneBook";
+ string ref = properties->getProperty(refProperty);
+ if (ref.empty())
+ {
+ cerr << argv[0] << ": property `" << refProperty << "' not set" << endl;
+ return EXIT_FAILURE;
+ }
+
ObjectPrx base = communicator->stringToProxy(ref);
PhoneBookPrx phoneBook = PhoneBookPrx::checkedCast(base);
+ if (!phoneBook)
+ {
+ cerr << argv[0] << ": invalid object reference" << endl;
+ return EXIT_FAILURE;
+ }
ParserPtr parser = Parser::createParser(communicator, phoneBook);
int status = EXIT_SUCCESS;