Commit c2258c4e authored by JINMEI Tatuya's avatar JINMEI Tatuya
Browse files

worked around another brokenness of sunstudio.

(may not be super trivial, but let me commit it to trunk to make the build/test
succeed.  I'll ask a quick sanity check on jabber)


git-svn-id: svn://bind10.isc.org/svn/bind10/trunk@2578 e5f2f494-b856-4b98-b285-d166d9295462
parent a82c729c
......@@ -483,7 +483,15 @@ IOServiceImpl::IOServiceImpl(AuthSrv* auth_server, const char& port,
uint16_t portnum;
try {
portnum = boost::lexical_cast<uint16_t>(&port);
// XXX: SunStudio with stlport4 doesn't reject some invalid
// representation such as "-1" by lexical_cast<uint16_t>, so
// we convert it into a signed integer of a larger size and perform
// range check ourselves.
int32_t portnum32 = boost::lexical_cast<int32_t>(&port);
if (portnum32 < 0 || portnum32 > 65535) {
isc_throw(IOError, "Invalid port number '" << &port);
}
portnum = portnum32;
} catch (const boost::bad_lexical_cast& ex) {
isc_throw(IOError, "Invalid port number '" << &port << "': " <<
ex.what());
......
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