From: Michal 'vorner' Vaner Date: Mon, 4 Jul 2011 11:59:21 +0000 (+0200) Subject: [master] Compilation fix X-Git-Tag: perftcpdns_before_epoll~231^2~26 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cdadcd5d6a6bd594fdbcb9efe628067879623df6;p=thirdparty%2Fkea.git [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. --- diff --git a/src/lib/log/log_formatter.h b/src/lib/log/log_formatter.h index f43e4afda6..11dec84332 100644 --- a/src/lib/log/log_formatter.h +++ b/src/lib/log/log_formatter.h @@ -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); - } - } - }; } diff --git a/src/lib/log/tests/log_formatter_unittest.cc b/src/lib/log/tests/log_formatter_unittest.cc index 6fda840518..b91665dc80 100644 --- a/src/lib/log/tests/log_formatter_unittest.cc +++ b/src/lib/log/tests/log_formatter_unittest.cc @@ -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); -} - } diff --git a/src/lib/server_common/portconfig.cc b/src/lib/server_common/portconfig.cc index c60e18d2da..379a0a17c4 100644 --- a/src/lib/server_common/portconfig.cc +++ b/src/lib/server_common/portconfig.cc @@ -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