diff options
author | Kahrl <kahrl@gmx.net> | 2011-11-07 04:20:33 +0100 |
---|---|---|
committer | Perttu Ahola <celeron55@gmail.com> | 2011-11-07 11:21:42 +0200 |
commit | 1c98ec94da18c97272e1b0a2c1e43baf0683a187 (patch) | |
tree | 9351db1279247e48303fb021323e4e3428f9a42b /src/connection.cpp | |
parent | 28660b4c1af1b1b6ac2d3fda6984bda2a1199dc1 (diff) | |
download | minetest-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.cpp | 4 |
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); |