diff --git a/include/libtorrent/alert_types.hpp b/include/libtorrent/alert_types.hpp index 7050ac2cc..fe15a3fae 100644 --- a/include/libtorrent/alert_types.hpp +++ b/include/libtorrent/alert_types.hpp @@ -2395,7 +2395,7 @@ namespace libtorrent void* userdata; udp::endpoint addr; - void response(bdecode_node& ret) const; + bdecode_node response() const; private: aux::stack_allocator& m_alloc; diff --git a/src/alert.cpp b/src/alert.cpp index 9a407bcf0..8d53a3b04 100644 --- a/src/alert.cpp +++ b/src/alert.cpp @@ -1848,13 +1848,15 @@ namespace libtorrent { return msg; } - void dht_direct_response_alert::response(bdecode_node& ret) const + bdecode_node dht_direct_response_alert::response() const { char const* start = m_alloc.ptr(m_response_idx); char const* end = start + m_response_size; error_code ec; + bdecode_node ret; bdecode(start, end, ret, ec); TORRENT_ASSERT(!ec); + return ret; } } // namespace libtorrent