From 1ce0e0b0e24592db875bcf927d9faf79aed404c5 Mon Sep 17 00:00:00 2001 From: Nathan Toone Date: Wed, 28 Jan 2015 19:31:06 -0700 Subject: [PATCH] Allow for building with the Android NDK. Use boost::lexical_cast instead of std::to_string and std::stoi functions - which aren't defined by android. --- src/network/uri/uri.hpp | 6 +++--- src/network/uri/uri_builder.hpp | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/network/uri/uri.hpp b/src/network/uri/uri.hpp index ef136e0f..dc5205c8 100644 --- a/src/network/uri/uri.hpp +++ b/src/network/uri/uri.hpp @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -266,10 +267,9 @@ namespace network { boost::optional port(typename std::is_integral::type * = 0) const { if (auto p = port()) { try { - return static_cast( - std::stoi(string_type(std::begin(*p), std::end(*p)))); + return boost::lexical_cast(string_type(std::begin(*p), std::end(*p))); } - catch (std::invalid_argument &) { + catch (boost::bad_lexical_cast &) { return boost::optional(); } } diff --git a/src/network/uri/uri_builder.hpp b/src/network/uri/uri_builder.hpp index c13e79de..dfaab4f0 100644 --- a/src/network/uri/uri_builder.hpp +++ b/src/network/uri/uri_builder.hpp @@ -71,7 +71,7 @@ namespace network { struct port_converter::type>::value>::type> { uri::string_type operator () (std::uint16_t port) const { - return std::to_string(port); + return boost::lexical_cast(port); } };