Commit cdadcd5d authored by Michal 'vorner' Vaner's avatar Michal 'vorner' Vaner
Browse files

[master] Compilation fix

Clang seems to be confused by too many templates and function
overloading, so we sacrifice little bit of convenience to make it happy.
parent 4d816136
......@@ -181,19 +181,6 @@ public:
}
return (*this);
}
/// \brief Exception version of arg.
///
/// \param e An exception which the "what()" is extracted an put into the
/// message.
Formatter& arg(const std::exception& e) {
if (logger_) {
return (arg(e.what()));
} else {
return (*this);
}
}
};
}
......
......@@ -123,19 +123,4 @@ TEST_F(FormatterTest, noRecurse) {
EXPECT_EQ("%1 %1", outputs[0].second);
}
// Test it can accept exceptions (which don't have a default conversion
// to string by themself)
TEST_F(FormatterTest, exception) {
class Ex : public std::exception {
public:
virtual const char* what() const throw() {
return "Exception test";
}
};
Formatter(isc::log::INFO, s("%1"), this).arg(Ex());
ASSERT_EQ(1, outputs.size());
EXPECT_EQ(isc::log::INFO, outputs[0].first);
EXPECT_EQ("Exception test", outputs[0].second);
}
}
......@@ -114,12 +114,12 @@ installListenAddresses(const AddressList& newAddresses,
* user will get error info, command control can be used to set new
* address. So we just catch the exception without propagating outside
*/
LOG_ERROR(logger, SRVCOMM_ADDRESS_FAIL).arg(e);
LOG_ERROR(logger, SRVCOMM_ADDRESS_FAIL).arg(e.what());
try {
setAddresses(service, addressStore);
}
catch (const exception& e2) {
LOG_FATAL(logger, SRVCOMM_ADDRESS_UNRECOVERABLE).arg(e2);
LOG_FATAL(logger, SRVCOMM_ADDRESS_UNRECOVERABLE).arg(e2.what());
}
//Anyway the new configure has problem, we need to notify configure
//manager the new configure doesn't work
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment