diff --git a/include/fc/variant.hpp b/include/fc/variant.hpp index 7cb8890..d9e83b1 100644 --- a/include/fc/variant.hpp +++ b/include/fc/variant.hpp @@ -30,6 +30,8 @@ namespace fc class time_point; class time_point_sec; + void to_variant( const int16_t& var, variant& vo ); + void from_variant( const variant& var, int16_t& vo ); void to_variant( const uint16_t& var, variant& vo ); void from_variant( const variant& var, uint16_t& vo ); void to_variant( const uint32_t& var, variant& vo ); diff --git a/src/network/tcp_socket.cpp b/src/network/tcp_socket.cpp index 0cca7bc..864199a 100644 --- a/src/network/tcp_socket.cpp +++ b/src/network/tcp_socket.cpp @@ -84,7 +84,7 @@ namespace fc { if (WSAIoctl(my->_sock.native(), SIO_KEEPALIVE_VALS, &keepalive_settings, sizeof(keepalive_settings), NULL, 0, &dwBytesRet, NULL, NULL) == SOCKET_ERROR) wlog("Error setting TCP keepalive values"); -#else +#elif !defined( __APPLE__ ) // TODO: add proper support for OS X Mavericks... SOL_TCP and TCP_KEEPIDLE are not defined // This should work for modern Linuxes and for OSX >= Mountain Lion int timeout_sec = interval.count() / fc::seconds(1).count(); if (setsockopt(my->_sock.native(), SOL_TCP, TCP_KEEPIDLE, diff --git a/src/variant.cpp b/src/variant.cpp index d4c69ad..1917d7d 100644 --- a/src/variant.cpp +++ b/src/variant.cpp @@ -15,6 +15,11 @@ namespace fc void to_variant( const uint16_t& var, variant& vo ) { vo = uint64_t(var); } // TODO: warn on overflow? void from_variant( const variant& var, uint16_t& vo ){ vo = static_cast(var.as_uint64()); } + + void to_variant( const int16_t& var, variant& vo ) { vo = int64_t(var); } + // TODO: warn on overflow? + void from_variant( const variant& var, int16_t& vo ){ vo = static_cast(var.as_int64()); } + void to_variant( const std::vector& var, variant& vo ) { if( var.size() )