summaryrefslogtreecommitdiff
path: root/src/connection.cpp
diff options
context:
space:
mode:
authorKahrl <kahrl@gmx.net>2011-11-07 04:20:33 +0100
committerPerttu Ahola <celeron55@gmail.com>2011-11-07 11:21:42 +0200
commit1c98ec94da18c97272e1b0a2c1e43baf0683a187 (patch)
tree9351db1279247e48303fb021323e4e3428f9a42b /src/connection.cpp
parent28660b4c1af1b1b6ac2d3fda6984bda2a1199dc1 (diff)
downloadminetest-1c98ec94da18c97272e1b0a2c1e43baf0683a187.tar.gz
minetest-1c98ec94da18c97272e1b0a2c1e43baf0683a187.tar.bz2
minetest-1c98ec94da18c97272e1b0a2c1e43baf0683a187.zip
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
Diffstat (limited to 'src/connection.cpp')
-rw-r--r--src/connection.cpp4
1 files changed, 2 insertions, 2 deletions
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<u8> &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<u8>(e.data);
return e.data.getSize();
case CONNEVENT_PEER_ADDED: {
Peer tmp(e.peer_id, e.address);