From 1c98ec94da18c97272e1b0a2c1e43baf0683a187 Mon Sep 17 00:00:00 2001 From: Kahrl Date: Mon, 7 Nov 2011 04:20:33 +0100 Subject: Make Connection::Receive return the data via a SharedBuffer reference, so the caller doesn't have to choose the right buffer size in advance. Conflicts: src/test.cpp --- src/connection.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/connection.cpp') diff --git a/src/connection.cpp b/src/connection.cpp index 31c0f77a3..b9c5d2ac8 100644 --- a/src/connection.cpp +++ b/src/connection.cpp @@ -1577,7 +1577,7 @@ void Connection::Disconnect() putCommand(c); } -u32 Connection::Receive(u16 &peer_id, u8 *data, u32 datasize) +u32 Connection::Receive(u16 &peer_id, SharedBuffer &data) { for(;;){ ConnectionEvent e = waitEvent(m_bc_receive_timeout); @@ -1589,7 +1589,7 @@ u32 Connection::Receive(u16 &peer_id, u8 *data, u32 datasize) throw NoIncomingDataException("No incoming data"); case CONNEVENT_DATA_RECEIVED: peer_id = e.peer_id; - memcpy(data, *e.data, e.data.getSize()); + data = SharedBuffer(e.data); return e.data.getSize(); case CONNEVENT_PEER_ADDED: { Peer tmp(e.peer_id, e.address); -- cgit v1.2.3