1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-21 15:45:07 +00:00

AK: Make ByteBuffer's copy() and wrap() take void*.

This way we don't have to cast whatever we're passing to copy()/wrap().
This commit is contained in:
Andreas Kling 2019-03-17 00:36:41 +01:00
parent 5b0cbf547d
commit 1c6dfc3282
4 changed files with 11 additions and 11 deletions

View file

@ -87,9 +87,9 @@ public:
static ByteBuffer create_uninitialized(ssize_t size) { return ByteBuffer(ByteBufferImpl::create_uninitialized(size)); } static ByteBuffer create_uninitialized(ssize_t size) { return ByteBuffer(ByteBufferImpl::create_uninitialized(size)); }
static ByteBuffer create_zeroed(ssize_t size) { return ByteBuffer(ByteBufferImpl::create_zeroed(size)); } static ByteBuffer create_zeroed(ssize_t size) { return ByteBuffer(ByteBufferImpl::create_zeroed(size)); }
static ByteBuffer copy(const byte* data, ssize_t size) { return ByteBuffer(ByteBufferImpl::copy(data, size)); } static ByteBuffer copy(const void* data, ssize_t size) { return ByteBuffer(ByteBufferImpl::copy(data, size)); }
static ByteBuffer wrap(byte* data, ssize_t size) { return ByteBuffer(ByteBufferImpl::wrap(data, size)); } static ByteBuffer wrap(void* data, ssize_t size) { return ByteBuffer(ByteBufferImpl::wrap(data, size)); }
static ByteBuffer adopt(byte* data, ssize_t size) { return ByteBuffer(ByteBufferImpl::adopt(data, size)); } static ByteBuffer adopt(void* data, ssize_t size) { return ByteBuffer(ByteBufferImpl::adopt(data, size)); }
~ByteBuffer() { clear(); } ~ByteBuffer() { clear(); }
void clear() { m_impl = nullptr; } void clear() { m_impl = nullptr; }

View file

@ -147,7 +147,7 @@ ssize_t IPv4Socket::sendto(const void* data, size_t data_length, int flags, cons
kprintf("sendto: destination=%s:%u\n", m_destination_address.to_string().characters(), m_destination_port); kprintf("sendto: destination=%s:%u\n", m_destination_address.to_string().characters(), m_destination_port);
if (type() == SOCK_RAW) { if (type() == SOCK_RAW) {
adapter->send_ipv4(MACAddress(), m_destination_address, (IPv4Protocol)protocol(), ByteBuffer::copy((const byte*)data, data_length)); adapter->send_ipv4(MACAddress(), m_destination_address, (IPv4Protocol)protocol(), ByteBuffer::copy(data, data_length));
return data_length; return data_length;
} }

View file

@ -185,7 +185,7 @@ void handle_icmp(const EthernetFrameHeader& eth, int frame_size)
LOCKER(socket->lock()); LOCKER(socket->lock());
if (socket->protocol() != (unsigned)IPv4Protocol::ICMP) if (socket->protocol() != (unsigned)IPv4Protocol::ICMP)
continue; continue;
socket->did_receive(ByteBuffer::copy((const byte*)&ipv4_packet, sizeof(IPv4Packet) + ipv4_packet.payload_size())); socket->did_receive(ByteBuffer::copy(&ipv4_packet, sizeof(IPv4Packet) + ipv4_packet.payload_size()));
} }
} }
@ -244,7 +244,7 @@ void handle_udp(const EthernetFrameHeader& eth, int frame_size)
ASSERT(socket->type() == SOCK_DGRAM); ASSERT(socket->type() == SOCK_DGRAM);
ASSERT(socket->source_port() == udp_packet.destination_port()); ASSERT(socket->source_port() == udp_packet.destination_port());
socket->did_receive(ByteBuffer::copy((const byte*)&ipv4_packet, sizeof(IPv4Packet) + ipv4_packet.payload_size())); socket->did_receive(ByteBuffer::copy(&ipv4_packet, sizeof(IPv4Packet) + ipv4_packet.payload_size()));
} }
void handle_tcp(const EthernetFrameHeader& eth, int frame_size) void handle_tcp(const EthernetFrameHeader& eth, int frame_size)
@ -304,7 +304,7 @@ void handle_tcp(const EthernetFrameHeader& eth, int frame_size)
kprintf("handle_tcp: Got FIN, payload_size=%u\n", payload_size); kprintf("handle_tcp: Got FIN, payload_size=%u\n", payload_size);
if (payload_size != 0) if (payload_size != 0)
socket->did_receive(ByteBuffer::copy((const byte*)&ipv4_packet, sizeof(IPv4Packet) + ipv4_packet.payload_size())); socket->did_receive(ByteBuffer::copy(&ipv4_packet, sizeof(IPv4Packet) + ipv4_packet.payload_size()));
socket->set_ack_number(tcp_packet.sequence_number() + payload_size + 1); socket->set_ack_number(tcp_packet.sequence_number() + payload_size + 1);
socket->send_tcp_packet(TCPFlags::FIN | TCPFlags::ACK); socket->send_tcp_packet(TCPFlags::FIN | TCPFlags::ACK);
@ -323,5 +323,5 @@ void handle_tcp(const EthernetFrameHeader& eth, int frame_size)
socket->send_tcp_packet(TCPFlags::ACK); socket->send_tcp_packet(TCPFlags::ACK);
if (payload_size != 0) if (payload_size != 0)
socket->did_receive(ByteBuffer::copy((const byte*)&ipv4_packet, sizeof(IPv4Packet) + ipv4_packet.payload_size())); socket->did_receive(ByteBuffer::copy(&ipv4_packet, sizeof(IPv4Packet) + ipv4_packet.payload_size()));
} }

View file

@ -163,9 +163,9 @@ bool Font::write_to_file(const String& path)
auto buffer = ByteBuffer::create_uninitialized(sizeof(FontFileHeader) + (256 * bytes_per_glyph) + 256); auto buffer = ByteBuffer::create_uninitialized(sizeof(FontFileHeader) + (256 * bytes_per_glyph) + 256);
BufferStream stream(buffer); BufferStream stream(buffer);
stream << ByteBuffer::wrap((byte*)&header, sizeof(FontFileHeader)); stream << ByteBuffer::wrap(&header, sizeof(FontFileHeader));
stream << ByteBuffer::wrap((byte*)m_rows, (256 * bytes_per_glyph)); stream << ByteBuffer::wrap(m_rows, (256 * bytes_per_glyph));
stream << ByteBuffer::wrap((byte*)m_glyph_widths, 256); stream << ByteBuffer::wrap(m_glyph_widths, 256);
ASSERT(stream.at_end()); ASSERT(stream.at_end());
ssize_t nwritten = write(fd, buffer.pointer(), buffer.size()); ssize_t nwritten = write(fd, buffer.pointer(), buffer.size());