mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 17:02:45 +00:00 
			
		
		
		
	ByteBuffer: Remove pointer() in favor of data()
We had two ways to get the data inside a ByteBuffer. That was silly.
This commit is contained in:
		
							parent
							
								
									dd696e7c75
								
							
						
					
					
						commit
						8f45a259fc
					
				
					 30 changed files with 89 additions and 92 deletions
				
			
		|  | @ -43,8 +43,8 @@ public: | |||
|     bool is_empty() const { return !m_size; } | ||||
|     int size() const { return m_size; } | ||||
| 
 | ||||
|     u8* pointer() { return m_data; } | ||||
|     const u8* pointer() const { return m_data; } | ||||
|     u8* data() { return m_data; } | ||||
|     const u8* data() const { return m_data; } | ||||
| 
 | ||||
|     u8* offset_pointer(int offset) { return m_data + offset; } | ||||
|     const u8* offset_pointer(int offset) const { return m_data + offset; } | ||||
|  | @ -130,11 +130,8 @@ public: | |||
|     bool is_empty() const { return !m_impl || m_impl->is_empty(); } | ||||
|     int size() const { return m_impl ? m_impl->size() : 0; } | ||||
| 
 | ||||
|     u8* data() { return pointer(); } | ||||
|     const u8* data() const { return pointer(); } | ||||
| 
 | ||||
|     u8* pointer() { return m_impl ? m_impl->pointer() : nullptr; } | ||||
|     const u8* pointer() const { return m_impl ? m_impl->pointer() : nullptr; } | ||||
|     u8* data() { return m_impl ? m_impl->data() : nullptr; } | ||||
|     const u8* data() const { return m_impl ? m_impl->data() : nullptr; } | ||||
| 
 | ||||
|     u8* offset_pointer(int offset) { return m_impl ? m_impl->offset_pointer(offset) : nullptr; } | ||||
|     const u8* offset_pointer(int offset) const { return m_impl ? m_impl->offset_pointer(offset) : nullptr; } | ||||
|  | @ -146,7 +143,7 @@ public: | |||
|     { | ||||
|         if (!m_impl) | ||||
|             return {}; | ||||
|         return copy(m_impl->pointer(), m_impl->size()); | ||||
|         return copy(m_impl->data(), m_impl->size()); | ||||
|     } | ||||
| 
 | ||||
|     // NOTE: trim() does not reallocate.
 | ||||
|  | @ -190,7 +187,7 @@ public: | |||
|     { | ||||
|         int old_size = size(); | ||||
|         grow(size() + data_size); | ||||
|         memcpy(pointer() + old_size, data, data_size); | ||||
|         memcpy(this->data() + old_size, data, data_size); | ||||
|     } | ||||
| 
 | ||||
| private: | ||||
|  | @ -249,7 +246,7 @@ inline NonnullRefPtr<ByteBufferImpl> ByteBufferImpl::create_uninitialized(int si | |||
| inline NonnullRefPtr<ByteBufferImpl> ByteBufferImpl::create_zeroed(int size) | ||||
| { | ||||
|     auto buffer = ::adopt(*new ByteBufferImpl(size)); | ||||
|     memset(buffer->pointer(), 0, size); | ||||
|     memset(buffer->data(), 0, size); | ||||
|     return buffer; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -18,8 +18,8 @@ public: | |||
|     bool is_valid() const { return m_map != (void*)-1; } | ||||
|     void unmap(); | ||||
| 
 | ||||
|     void* pointer() { return m_map; } | ||||
|     const void* pointer() const { return m_map; } | ||||
|     void* data() { return m_map; } | ||||
|     const void* data() const { return m_map; } | ||||
|     size_t size() const { return m_size; } | ||||
| 
 | ||||
| private: | ||||
|  |  | |||
|  | @ -21,7 +21,7 @@ void StringBuilder::append(const StringView& str) | |||
|     if (str.is_empty()) | ||||
|         return; | ||||
|     will_append(str.length()); | ||||
|     memcpy(m_buffer.pointer() + m_length, str.characters_without_null_termination(), str.length()); | ||||
|     memcpy(m_buffer.data() + m_length, str.characters_without_null_termination(), str.length()); | ||||
|     m_length += str.length(); | ||||
| } | ||||
| 
 | ||||
|  | @ -30,14 +30,14 @@ void StringBuilder::append(const char* characters, int length) | |||
|     if (!length) | ||||
|         return; | ||||
|     will_append(length); | ||||
|     memcpy(m_buffer.pointer() + m_length, characters, length); | ||||
|     memcpy(m_buffer.data() + m_length, characters, length); | ||||
|     m_length += length; | ||||
| } | ||||
| 
 | ||||
| void StringBuilder::append(char ch) | ||||
| { | ||||
|     will_append(1); | ||||
|     m_buffer.pointer()[m_length] = ch; | ||||
|     m_buffer.data()[m_length] = ch; | ||||
|     m_length += 1; | ||||
| } | ||||
| 
 | ||||
|  | @ -67,14 +67,14 @@ ByteBuffer StringBuilder::to_byte_buffer() | |||
| 
 | ||||
| String StringBuilder::to_string() | ||||
| { | ||||
|     auto string = String((const char*)m_buffer.pointer(), m_length); | ||||
|     auto string = String((const char*)m_buffer.data(), m_length); | ||||
|     clear(); | ||||
|     return string; | ||||
| } | ||||
| 
 | ||||
| StringView StringBuilder::string_view() const | ||||
| { | ||||
|     return StringView { (const char*)m_buffer.pointer(), m_length }; | ||||
|     return StringView { (const char*)m_buffer.data(), m_length }; | ||||
| } | ||||
| 
 | ||||
| void StringBuilder::clear() | ||||
|  |  | |||
|  | @ -20,7 +20,7 @@ int main(int argc, char** argv) | |||
|         auto& response = static_cast<const CHttpResponse&>(*job->response()); | ||||
|         printf("%s{%p}: on_receive: code=%d\n", job->class_name(), job.ptr(), response.code()); | ||||
|         //printf("payload:\n");
 | ||||
|         //printf("%s", response.payload().pointer());
 | ||||
|         //printf("%s", response.payload().data());
 | ||||
|         printf("payload was %d bytes\n", response.payload().size()); | ||||
|     }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -207,9 +207,9 @@ void PATAChannel::detect_disks() | |||
| 
 | ||||
|         ByteBuffer wbuf = ByteBuffer::create_uninitialized(512); | ||||
|         ByteBuffer bbuf = ByteBuffer::create_uninitialized(512); | ||||
|         u8* b = bbuf.pointer(); | ||||
|         u16* w = (u16*)wbuf.pointer(); | ||||
|         const u16* wbufbase = (u16*)wbuf.pointer(); | ||||
|         u8* b = bbuf.data(); | ||||
|         u16* w = (u16*)wbuf.data(); | ||||
|         const u16* wbufbase = (u16*)wbuf.data(); | ||||
| 
 | ||||
|         for (u32 i = 0; i < 256; ++i) { | ||||
|             u16 data = IO::in16(m_io_base + ATA_REG_DATA); | ||||
|  | @ -228,7 +228,7 @@ void PATAChannel::detect_disks() | |||
| 
 | ||||
|         kprintf( | ||||
|             "PATAChannel: Name=\"%s\", C/H/Spt=%u/%u/%u\n", | ||||
|             bbuf.pointer() + 54, | ||||
|             bbuf.data() + 54, | ||||
|             cyls, | ||||
|             heads, | ||||
|             spt); | ||||
|  |  | |||
|  | @ -107,7 +107,7 @@ ByteBuffer DiskBackedFS::read_block(unsigned index) const | |||
|     auto buffer = ByteBuffer::create_uninitialized(block_size()); | ||||
|     //kprintf("created block buffer with size %u\n", block_size());
 | ||||
|     DiskOffset base_offset = static_cast<DiskOffset>(index) * static_cast<DiskOffset>(block_size()); | ||||
|     auto* buffer_pointer = buffer.pointer(); | ||||
|     auto* buffer_pointer = buffer.data(); | ||||
|     bool success = device().read(base_offset, block_size(), buffer_pointer); | ||||
|     ASSERT(success); | ||||
|     ASSERT(buffer.size() == block_size()); | ||||
|  | @ -126,13 +126,13 @@ ByteBuffer DiskBackedFS::read_blocks(unsigned index, unsigned count) const | |||
|     if (count == 1) | ||||
|         return read_block(index); | ||||
|     auto blocks = ByteBuffer::create_uninitialized(count * block_size()); | ||||
|     u8* out = blocks.pointer(); | ||||
|     u8* out = blocks.data(); | ||||
| 
 | ||||
|     for (unsigned i = 0; i < count; ++i) { | ||||
|         auto block = read_block(index + i); | ||||
|         if (!block) | ||||
|             return nullptr; | ||||
|         memcpy(out, block.pointer(), block.size()); | ||||
|         memcpy(out, block.data(), block.size()); | ||||
|         out += block_size(); | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
|  | @ -49,7 +49,7 @@ ByteBuffer Ext2FS::read_super_block() const | |||
| { | ||||
|     LOCKER(m_lock); | ||||
|     auto buffer = ByteBuffer::create_uninitialized(1024); | ||||
|     bool success = device().read_block(2, buffer.pointer()); | ||||
|     bool success = device().read_block(2, buffer.data()); | ||||
|     ASSERT(success); | ||||
|     success = device().read_block(3, buffer.offset_pointer(512)); | ||||
|     ASSERT(success); | ||||
|  | @ -79,7 +79,7 @@ const ext2_super_block& Ext2FS::super_block() const | |||
| { | ||||
|     if (!m_cached_super_block) | ||||
|         m_cached_super_block = read_super_block(); | ||||
|     return *reinterpret_cast<ext2_super_block*>(m_cached_super_block.pointer()); | ||||
|     return *reinterpret_cast<ext2_super_block*>(m_cached_super_block.data()); | ||||
| } | ||||
| 
 | ||||
| const ext2_group_desc& Ext2FS::group_descriptor(GroupIndex group_index) const | ||||
|  | @ -97,7 +97,7 @@ const ext2_group_desc& Ext2FS::group_descriptor(GroupIndex group_index) const | |||
| #endif | ||||
|         m_cached_group_descriptor_table = read_blocks(first_block_of_bgdt, blocks_to_read); | ||||
|     } | ||||
|     return reinterpret_cast<ext2_group_desc*>(m_cached_group_descriptor_table.pointer())[group_index - 1]; | ||||
|     return reinterpret_cast<ext2_group_desc*>(m_cached_group_descriptor_table.data())[group_index - 1]; | ||||
| } | ||||
| 
 | ||||
| bool Ext2FS::initialize() | ||||
|  | @ -321,10 +321,10 @@ bool Ext2FS::write_block_list_for_inode(InodeIndex inode_index, ext2_inode& e2in | |||
| 
 | ||||
|         auto dind_block_contents = read_block(e2inode.i_block[EXT2_DIND_BLOCK]); | ||||
|         if (dind_block_new) { | ||||
|             memset(dind_block_contents.pointer(), 0, dind_block_contents.size()); | ||||
|             memset(dind_block_contents.data(), 0, dind_block_contents.size()); | ||||
|             dind_block_dirty = true; | ||||
|         } | ||||
|         auto* dind_block_as_pointers = (unsigned*)dind_block_contents.pointer(); | ||||
|         auto* dind_block_as_pointers = (unsigned*)dind_block_contents.data(); | ||||
| 
 | ||||
|         ASSERT(indirect_block_count <= entries_per_block); | ||||
|         for (unsigned i = 0; i < indirect_block_count; ++i) { | ||||
|  | @ -341,10 +341,10 @@ bool Ext2FS::write_block_list_for_inode(InodeIndex inode_index, ext2_inode& e2in | |||
| 
 | ||||
|             auto ind_block_contents = read_block(indirect_block_index); | ||||
|             if (ind_block_new) { | ||||
|                 memset(ind_block_contents.pointer(), 0, dind_block_contents.size()); | ||||
|                 memset(ind_block_contents.data(), 0, dind_block_contents.size()); | ||||
|                 ind_block_dirty = true; | ||||
|             } | ||||
|             auto* ind_block_as_pointers = (unsigned*)ind_block_contents.pointer(); | ||||
|             auto* ind_block_as_pointers = (unsigned*)ind_block_contents.data(); | ||||
| 
 | ||||
|             unsigned entries_to_write = new_shape.doubly_indirect_blocks - (i * entries_per_block); | ||||
|             if (entries_to_write > entries_per_block) | ||||
|  | @ -430,7 +430,7 @@ Vector<Ext2FS::BlockIndex> Ext2FS::block_list_for_inode(const ext2_inode& e2inod | |||
|             callback(array_block_index); | ||||
|         auto array_block = read_block(array_block_index); | ||||
|         ASSERT(array_block); | ||||
|         auto* array = reinterpret_cast<const __u32*>(array_block.pointer()); | ||||
|         auto* array = reinterpret_cast<const __u32*>(array_block.data()); | ||||
|         unsigned count = min(blocks_remaining, entries_per_block); | ||||
|         for (unsigned i = 0; i < count; ++i) { | ||||
|             if (!array[i]) { | ||||
|  | @ -646,7 +646,7 @@ ssize_t Ext2FSInode::read_bytes(off_t offset, ssize_t count, u8* buffer, FileDes | |||
| 
 | ||||
|         int offset_into_block = (bi == first_block_logical_index) ? offset_into_first_block : 0; | ||||
|         int num_bytes_to_copy = min(block_size - offset_into_block, remaining_count); | ||||
|         memcpy(out, block.pointer() + offset_into_block, num_bytes_to_copy); | ||||
|         memcpy(out, block.data() + offset_into_block, num_bytes_to_copy); | ||||
|         remaining_count -= num_bytes_to_copy; | ||||
|         nread += num_bytes_to_copy; | ||||
|         out += num_bytes_to_copy; | ||||
|  | @ -755,14 +755,14 @@ ssize_t Ext2FSInode::write_bytes(off_t offset, ssize_t count, const u8* data, Fi | |||
|         } else | ||||
|             block = buffer_block; | ||||
| 
 | ||||
|         memcpy(block.pointer() + offset_into_block, in, num_bytes_to_copy); | ||||
|         memcpy(block.data() + offset_into_block, in, num_bytes_to_copy); | ||||
|         if (bi == last_logical_block_index_in_file && num_bytes_to_copy < block_size) { | ||||
|             int padding_start = new_size % block_size; | ||||
|             int padding_bytes = block_size - padding_start; | ||||
| #ifdef EXT2_DEBUG | ||||
|             dbgprintf("Ext2FSInode::write_bytes padding last block of file with zero x %u (new_size=%u, offset_into_block=%u, num_bytes_to_copy=%u)\n", padding_bytes, new_size, offset_into_block, num_bytes_to_copy); | ||||
| #endif | ||||
|             memset(block.pointer() + padding_start, 0, padding_bytes); | ||||
|             memset(block.data() + padding_start, 0, padding_bytes); | ||||
|         } | ||||
| #ifdef EXT2_DEBUG | ||||
|         dbgprintf("Ext2FSInode::write_bytes: writing block %u (offset_into_block: %u)\n", m_block_list[bi], offset_into_block); | ||||
|  | @ -799,7 +799,7 @@ bool Ext2FSInode::traverse_as_directory(Function<bool(const FS::DirectoryEntry&) | |||
| 
 | ||||
|     auto buffer = read_entire(); | ||||
|     ASSERT(buffer); | ||||
|     auto* entry = reinterpret_cast<ext2_dir_entry_2*>(buffer.pointer()); | ||||
|     auto* entry = reinterpret_cast<ext2_dir_entry_2*>(buffer.data()); | ||||
| 
 | ||||
|     while (entry < buffer.end_pointer()) { | ||||
|         if (entry->inode != 0) { | ||||
|  | @ -867,7 +867,7 @@ bool Ext2FSInode::write_directory(const Vector<FS::DirectoryEntry>& entries) | |||
| 
 | ||||
|     stream.fill_to_end(0); | ||||
| 
 | ||||
|     ssize_t nwritten = write_bytes(0, directory_data.size(), directory_data.pointer(), nullptr); | ||||
|     ssize_t nwritten = write_bytes(0, directory_data.size(), directory_data.data(), nullptr); | ||||
|     return nwritten == directory_data.size(); | ||||
| } | ||||
| 
 | ||||
|  | @ -1006,7 +1006,7 @@ Ext2FS::BlockIndex Ext2FS::allocate_block(GroupIndex preferred_group_index) | |||
| 
 | ||||
|     auto bitmap_block = read_block(bgd.bg_block_bitmap); | ||||
|     int blocks_in_group = min(blocks_per_group(), super_block().s_blocks_count); | ||||
|     auto block_bitmap = Bitmap::wrap(bitmap_block.pointer(), blocks_in_group); | ||||
|     auto block_bitmap = Bitmap::wrap(bitmap_block.data(), blocks_in_group); | ||||
|     BlockIndex first_block_in_group = (group_index - 1) * blocks_per_group() + first_block_index(); | ||||
|     int first_unset_bit_index = block_bitmap.find_first_unset(); | ||||
|     ASSERT(first_unset_bit_index != -1); | ||||
|  | @ -1136,7 +1136,7 @@ bool Ext2FS::get_inode_allocation_state(InodeIndex index) const | |||
|     unsigned bit_index = (index_in_group - 1) % inodes_per_group(); | ||||
|     auto block = read_block(bgd.bg_inode_bitmap); | ||||
|     ASSERT(block); | ||||
|     auto bitmap = Bitmap::wrap(block.pointer(), inodes_per_group()); | ||||
|     auto bitmap = Bitmap::wrap(block.data(), inodes_per_group()); | ||||
|     return bitmap.get(bit_index); | ||||
| } | ||||
| 
 | ||||
|  | @ -1149,7 +1149,7 @@ bool Ext2FS::set_inode_allocation_state(InodeIndex inode_index, bool new_state) | |||
|     unsigned bit_index = (index_in_group - 1) % inodes_per_group(); | ||||
|     auto block = read_block(bgd.bg_inode_bitmap); | ||||
|     ASSERT(block); | ||||
|     auto bitmap = Bitmap::wrap(block.pointer(), inodes_per_group()); | ||||
|     auto bitmap = Bitmap::wrap(block.data(), inodes_per_group()); | ||||
|     bool current_state = bitmap.get(bit_index); | ||||
| #ifdef EXT2_DEBUG | ||||
|     dbgprintf("Ext2FS: set_inode_allocation_state(%u) %u -> %u\n", inode_index, current_state, new_state); | ||||
|  | @ -1165,7 +1165,7 @@ bool Ext2FS::set_inode_allocation_state(InodeIndex inode_index, bool new_state) | |||
|     ASSERT(success); | ||||
| 
 | ||||
|     // Update superblock
 | ||||
|     auto& sb = *reinterpret_cast<ext2_super_block*>(m_cached_super_block.pointer()); | ||||
|     auto& sb = *reinterpret_cast<ext2_super_block*>(m_cached_super_block.data()); | ||||
| #ifdef EXT2_DEBUG | ||||
|     dbgprintf("Ext2FS: superblock free inode count %u -> %u\n", sb.s_free_inodes_count, sb.s_free_inodes_count - 1); | ||||
| #endif | ||||
|  | @ -1212,7 +1212,7 @@ bool Ext2FS::set_block_allocation_state(BlockIndex block_index, bool new_state) | |||
| #endif | ||||
|     auto block = read_block(bgd.bg_block_bitmap); | ||||
|     ASSERT(block); | ||||
|     auto bitmap = Bitmap::wrap(block.pointer(), blocks_per_group()); | ||||
|     auto bitmap = Bitmap::wrap(block.data(), blocks_per_group()); | ||||
|     bool current_state = bitmap.get(bit_index); | ||||
| #ifdef EXT2_DEBUG | ||||
|     dbgprintf("Ext2FS: block %u state: %u -> %u\n", block_index, current_state, new_state); | ||||
|  | @ -1228,7 +1228,7 @@ bool Ext2FS::set_block_allocation_state(BlockIndex block_index, bool new_state) | |||
|     ASSERT(success); | ||||
| 
 | ||||
|     // Update superblock
 | ||||
|     auto& sb = *reinterpret_cast<ext2_super_block*>(m_cached_super_block.pointer()); | ||||
|     auto& sb = *reinterpret_cast<ext2_super_block*>(m_cached_super_block.data()); | ||||
| #ifdef EXT2_DEBUG | ||||
|     dbgprintf("Ext2FS: superblock free block count %u -> %u\n", sb.s_free_blocks_count, sb.s_free_blocks_count - 1); | ||||
| #endif | ||||
|  |  | |||
|  | @ -168,7 +168,7 @@ ssize_t FileDescription::get_dir_entries(u8* buffer, ssize_t size) | |||
|     if (size < temp_buffer.size()) | ||||
|         return -1; | ||||
| 
 | ||||
|     memcpy(buffer, temp_buffer.pointer(), temp_buffer.size()); | ||||
|     memcpy(buffer, temp_buffer.data(), temp_buffer.size()); | ||||
|     return stream.offset(); | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -796,7 +796,7 @@ static ssize_t write_sys_string(InodeIdentifier inode_id, const ByteBuffer& data | |||
|     { | ||||
|         auto* lockable_string = reinterpret_cast<Lockable<String>*>(variable.address); | ||||
|         LOCKER(lockable_string->lock()); | ||||
|         lockable_string->resource() = String((const char*)data.pointer(), data.size()); | ||||
|         lockable_string->resource() = String((const char*)data.data(), data.size()); | ||||
|     } | ||||
|     variable.notify(); | ||||
|     return data.size(); | ||||
|  |  | |||
|  | @ -714,7 +714,7 @@ KResultOr<NonnullRefPtr<Custody>> VFS::resolve_path(StringView path, Custody& ba | |||
| 
 | ||||
|             // FIXME: We should limit the recursion here and return -ELOOP if it goes to deep.
 | ||||
|             auto symlink_target = resolve_path( | ||||
|                 StringView(symlink_contents.pointer(), | ||||
|                 StringView(symlink_contents.data(), | ||||
|                     symlink_contents.size()), | ||||
|                 current_parent, | ||||
|                 parent_custody, | ||||
|  |  | |||
|  | @ -34,7 +34,7 @@ static void load_ksyms_from_data(const ByteBuffer& buffer) | |||
| { | ||||
|     ksym_lowest_address = 0xffffffff; | ||||
|     ksym_highest_address = 0; | ||||
|     auto* bufptr = (const char*)buffer.pointer(); | ||||
|     auto* bufptr = (const char*)buffer.data(); | ||||
|     auto* start_of_name = bufptr; | ||||
|     u32 address = 0; | ||||
| 
 | ||||
|  |  | |||
|  | @ -58,7 +58,7 @@ void NetworkAdapter::send(const MACAddress& destination, const ARPPacket& packet | |||
| { | ||||
|     int size_in_bytes = sizeof(EthernetFrameHeader) + sizeof(ARPPacket); | ||||
|     auto buffer = ByteBuffer::create_zeroed(size_in_bytes); | ||||
|     auto* eth = (EthernetFrameHeader*)buffer.pointer(); | ||||
|     auto* eth = (EthernetFrameHeader*)buffer.data(); | ||||
|     eth->set_source(mac_address()); | ||||
|     eth->set_destination(destination); | ||||
|     eth->set_ether_type(EtherType::ARP); | ||||
|  | @ -72,7 +72,7 @@ void NetworkAdapter::send_ipv4(const MACAddress& destination_mac, const IPv4Addr | |||
| { | ||||
|     size_t size_in_bytes = sizeof(EthernetFrameHeader) + sizeof(IPv4Packet) + payload_size; | ||||
|     auto buffer = ByteBuffer::create_zeroed(size_in_bytes); | ||||
|     auto& eth = *(EthernetFrameHeader*)buffer.pointer(); | ||||
|     auto& eth = *(EthernetFrameHeader*)buffer.data(); | ||||
|     eth.set_source(mac_address()); | ||||
|     eth.set_destination(destination_mac); | ||||
|     eth.set_ether_type(EtherType::IPv4); | ||||
|  |  | |||
|  | @ -264,7 +264,7 @@ void handle_icmp(const EthernetFrameHeader& eth, const IPv4Packet& ipv4_packet) | |||
|             (u16)request.sequence_number); | ||||
|         size_t icmp_packet_size = ipv4_packet.payload_size(); | ||||
|         auto buffer = ByteBuffer::create_zeroed(icmp_packet_size); | ||||
|         auto& response = *(ICMPEchoPacket*)buffer.pointer(); | ||||
|         auto& response = *(ICMPEchoPacket*)buffer.data(); | ||||
|         response.header.set_type(ICMPType::EchoReply); | ||||
|         response.header.set_code(0); | ||||
|         response.identifier = request.identifier; | ||||
|  |  | |||
|  | @ -140,7 +140,7 @@ int TCPSocket::protocol_send(const void* data, int data_length) | |||
| void TCPSocket::send_tcp_packet(u16 flags, const void* payload, int payload_size) | ||||
| { | ||||
|     auto buffer = ByteBuffer::create_zeroed(sizeof(TCPPacket) + payload_size); | ||||
|     auto& tcp_packet = *(TCPPacket*)(buffer.pointer()); | ||||
|     auto& tcp_packet = *(TCPPacket*)(buffer.data()); | ||||
|     ASSERT(local_port()); | ||||
|     tcp_packet.set_source_port(local_port()); | ||||
|     tcp_packet.set_destination_port(peer_port()); | ||||
|  | @ -194,7 +194,7 @@ void TCPSocket::send_outgoing_packets() | |||
|         packet.tx_counter++; | ||||
| 
 | ||||
| #ifdef TCP_SOCKET_DEBUG | ||||
|         auto& tcp_packet = *(TCPPacket*)(packet.buffer.pointer()); | ||||
|         auto& tcp_packet = *(TCPPacket*)(packet.buffer.data()); | ||||
|         kprintf("sending tcp packet from %s:%u to %s:%u with (%s%s%s%s) seq_no=%u, ack_no=%u, tx_counter=%u\n", | ||||
|             local_address().to_string().characters(), | ||||
|             local_port(), | ||||
|  |  | |||
|  | @ -67,7 +67,7 @@ int UDPSocket::protocol_send(const void* data, int data_length) | |||
|     if (routing_decision.is_zero()) | ||||
|         return -EHOSTUNREACH; | ||||
|     auto buffer = ByteBuffer::create_zeroed(sizeof(UDPPacket) + data_length); | ||||
|     auto& udp_packet = *(UDPPacket*)(buffer.pointer()); | ||||
|     auto& udp_packet = *(UDPPacket*)(buffer.data()); | ||||
|     udp_packet.set_source_port(local_port()); | ||||
|     udp_packet.set_destination_port(peer_port()); | ||||
|     udp_packet.set_length(sizeof(UDPPacket) + data_length); | ||||
|  |  | |||
|  | @ -1240,7 +1240,7 @@ int Process::sys$readlink(const char* path, char* buffer, ssize_t size) | |||
|     if (!contents) | ||||
|         return -EIO; // FIXME: Get a more detailed error from VFS.
 | ||||
| 
 | ||||
|     memcpy(buffer, contents.pointer(), min(size, (ssize_t)contents.size())); | ||||
|     memcpy(buffer, contents.data(), min(size, (ssize_t)contents.size())); | ||||
|     if (contents.size() + 1 < size) | ||||
|         buffer[contents.size()] = '\0'; | ||||
|     return 0; | ||||
|  |  | |||
|  | @ -44,7 +44,7 @@ void CConfigFile::reparse() | |||
| 
 | ||||
|     while (file->can_read_line()) { | ||||
|         auto line = file->read_line(BUFSIZ); | ||||
|         auto* cp = (const char*)line.pointer(); | ||||
|         auto* cp = (const char*)line.data(); | ||||
| 
 | ||||
|         while (*cp && (*cp == ' ' || *cp == '\t' || *cp == '\n')) | ||||
|             ++cp; | ||||
|  |  | |||
|  | @ -38,7 +38,7 @@ void CHttpJob::on_socket_connected() | |||
|             } | ||||
|             auto parts = String::copy(line, Chomp).split(' '); | ||||
|             if (parts.size() < 3) { | ||||
|                 fprintf(stderr, "CHttpJob: Expected 3-part HTTP status, got '%s'\n", line.pointer()); | ||||
|                 fprintf(stderr, "CHttpJob: Expected 3-part HTTP status, got '%s'\n", line.data()); | ||||
|                 return deferred_invoke([this](auto&) { did_fail(CNetworkJob::Error::ProtocolFailed); }); | ||||
|             } | ||||
|             bool ok; | ||||
|  |  | |||
|  | @ -38,7 +38,7 @@ ByteBuffer CIODevice::read(int max_size) | |||
|     if (!max_size) | ||||
|         return {}; | ||||
|     auto buffer = ByteBuffer::create_uninitialized(max_size); | ||||
|     auto* buffer_ptr = (char*)buffer.pointer(); | ||||
|     auto* buffer_ptr = (char*)buffer.data(); | ||||
|     int remaining_buffer_space = buffer.size(); | ||||
|     int taken_from_buffered = 0; | ||||
|     if (!m_buffered_data.is_empty()) { | ||||
|  |  | |||
|  | @ -119,7 +119,7 @@ ByteBuffer CSocket::receive(int max_size) | |||
| 
 | ||||
| bool CSocket::send(const ByteBuffer& data) | ||||
| { | ||||
|     int nsent = ::send(fd(), data.pointer(), data.size(), 0); | ||||
|     int nsent = ::send(fd(), data.data(), data.size(), 0); | ||||
|     if (nsent < 0) { | ||||
|         set_error(errno); | ||||
|         return false; | ||||
|  |  | |||
|  | @ -134,7 +134,7 @@ RefPtr<Font> Font::load_from_file(const StringView& path) | |||
|     if (!mapped_file.is_valid()) | ||||
|         return nullptr; | ||||
| 
 | ||||
|     auto font = load_from_memory((const u8*)mapped_file.pointer()); | ||||
|     auto font = load_from_memory((const u8*)mapped_file.data()); | ||||
|     font->m_mapped_file = move(mapped_file); | ||||
|     return font; | ||||
| } | ||||
|  | @ -166,7 +166,7 @@ bool Font::write_to_file(const StringView& path) | |||
|     stream << ByteBuffer::wrap(m_glyph_widths, 256); | ||||
| 
 | ||||
|     ASSERT(stream.at_end()); | ||||
|     ssize_t nwritten = write(fd, buffer.pointer(), buffer.size()); | ||||
|     ssize_t nwritten = write(fd, buffer.data(), buffer.size()); | ||||
|     ASSERT(nwritten == (ssize_t)buffer.size()); | ||||
|     int rc = close(fd); | ||||
|     ASSERT(rc == 0); | ||||
|  |  | |||
|  | @ -54,7 +54,7 @@ GraphicsBitmap::GraphicsBitmap(Format format, const Size& size, size_t pitch, RG | |||
| 
 | ||||
| GraphicsBitmap::GraphicsBitmap(Format format, const Size& size, MappedFile&& mapped_file) | ||||
|     : m_size(size) | ||||
|     , m_data((RGBA32*)mapped_file.pointer()) | ||||
|     , m_data((RGBA32*)mapped_file.data()) | ||||
|     , m_pitch(round_up_to_power_of_two(size.width() * sizeof(RGBA32), 16)) | ||||
|     , m_format(format) | ||||
|     , m_mapped_file(move(mapped_file)) | ||||
|  |  | |||
|  | @ -138,7 +138,7 @@ RefPtr<GraphicsBitmap> load_png(const StringView& path) | |||
|     MappedFile mapped_file(path); | ||||
|     if (!mapped_file.is_valid()) | ||||
|         return nullptr; | ||||
|     auto bitmap = load_png_impl((const u8*)mapped_file.pointer(), mapped_file.size()); | ||||
|     auto bitmap = load_png_impl((const u8*)mapped_file.data(), mapped_file.size()); | ||||
|     if (bitmap) | ||||
|         bitmap->set_mmap_name(String::format("GraphicsBitmap [%dx%d] - Decoded PNG: %s", bitmap->width(), bitmap->height(), canonicalized_path(path).characters())); | ||||
|     return bitmap; | ||||
|  | @ -271,7 +271,7 @@ template<bool has_alpha, u8 filter_type> | |||
|         case 2: | ||||
|             if (context.bit_depth == 8) { | ||||
|                 for (int y = 0; y < context.height; ++y) { | ||||
|                     auto* triplets = (Triplet*)context.scanlines[y].data.pointer(); | ||||
|                     auto* triplets = (Triplet*)context.scanlines[y].data.data(); | ||||
|                     for (int i = 0; i < context.width; ++i) { | ||||
|                         auto& pixel = (Pixel&)context.bitmap->scanline(y)[i]; | ||||
|                         pixel.r = triplets[i].r; | ||||
|  | @ -282,7 +282,7 @@ template<bool has_alpha, u8 filter_type> | |||
|                 } | ||||
|             } else if (context.bit_depth == 16) { | ||||
|                 for (int y = 0; y < context.height; ++y) { | ||||
|                     auto* triplets = (Triplet16*)context.scanlines[y].data.pointer(); | ||||
|                     auto* triplets = (Triplet16*)context.scanlines[y].data.data(); | ||||
|                     for (int i = 0; i < context.width; ++i) { | ||||
|                         auto& pixel = (Pixel&)context.bitmap->scanline(y)[i]; | ||||
|                         pixel.r = triplets[i].r & 0xFF; | ||||
|  | @ -298,11 +298,11 @@ template<bool has_alpha, u8 filter_type> | |||
|         case 6: | ||||
|             if (context.bit_depth == 8) { | ||||
|                 for (int y = 0; y < context.height; ++y) { | ||||
|                     memcpy(context.bitmap->scanline(y), context.scanlines[y].data.pointer(), context.scanlines[y].data.size()); | ||||
|                     memcpy(context.bitmap->scanline(y), context.scanlines[y].data.data(), context.scanlines[y].data.size()); | ||||
|                 } | ||||
|             } else if (context.bit_depth == 16) { | ||||
|                 for (int y = 0; y < context.height; ++y) { | ||||
|                     auto* triplets = (Quad16*)context.scanlines[y].data.pointer(); | ||||
|                     auto* triplets = (Quad16*)context.scanlines[y].data.data(); | ||||
|                     for (int i = 0; i < context.width; ++i) { | ||||
|                         auto& pixel = (Pixel&)context.bitmap->scanline(y)[i]; | ||||
|                         pixel.r = triplets[i].r & 0xFF; | ||||
|  | @ -317,7 +317,7 @@ template<bool has_alpha, u8 filter_type> | |||
|             break; | ||||
|         case 3: | ||||
|             for (int y = 0; y < context.height; ++y) { | ||||
|                 auto* palette_index = (u8*)context.scanlines[y].data.pointer(); | ||||
|                 auto* palette_index = (u8*)context.scanlines[y].data.data(); | ||||
|                 for (int i = 0; i < context.width; ++i) { | ||||
|                     auto& pixel = (Pixel&)context.bitmap->scanline(y)[i]; | ||||
|                     auto& color = context.palette_data.at((int)palette_index[i]); | ||||
|  | @ -346,37 +346,37 @@ template<bool has_alpha, u8 filter_type> | |||
|         auto filter = context.scanlines[y].filter; | ||||
|         if (filter == 0) { | ||||
|             if (context.has_alpha()) | ||||
|                 unfilter_impl<true, 0>(*context.bitmap, y, dummy_scanline.pointer()); | ||||
|                 unfilter_impl<true, 0>(*context.bitmap, y, dummy_scanline.data()); | ||||
|             else | ||||
|                 unfilter_impl<false, 0>(*context.bitmap, y, dummy_scanline.pointer()); | ||||
|                 unfilter_impl<false, 0>(*context.bitmap, y, dummy_scanline.data()); | ||||
|             continue; | ||||
|         } | ||||
|         if (filter == 1) { | ||||
|             if (context.has_alpha()) | ||||
|                 unfilter_impl<true, 1>(*context.bitmap, y, dummy_scanline.pointer()); | ||||
|                 unfilter_impl<true, 1>(*context.bitmap, y, dummy_scanline.data()); | ||||
|             else | ||||
|                 unfilter_impl<false, 1>(*context.bitmap, y, dummy_scanline.pointer()); | ||||
|                 unfilter_impl<false, 1>(*context.bitmap, y, dummy_scanline.data()); | ||||
|             continue; | ||||
|         } | ||||
|         if (filter == 2) { | ||||
|             if (context.has_alpha()) | ||||
|                 unfilter_impl<true, 2>(*context.bitmap, y, dummy_scanline.pointer()); | ||||
|                 unfilter_impl<true, 2>(*context.bitmap, y, dummy_scanline.data()); | ||||
|             else | ||||
|                 unfilter_impl<false, 2>(*context.bitmap, y, dummy_scanline.pointer()); | ||||
|                 unfilter_impl<false, 2>(*context.bitmap, y, dummy_scanline.data()); | ||||
|             continue; | ||||
|         } | ||||
|         if (filter == 3) { | ||||
|             if (context.has_alpha()) | ||||
|                 unfilter_impl<true, 3>(*context.bitmap, y, dummy_scanline.pointer()); | ||||
|                 unfilter_impl<true, 3>(*context.bitmap, y, dummy_scanline.data()); | ||||
|             else | ||||
|                 unfilter_impl<false, 3>(*context.bitmap, y, dummy_scanline.pointer()); | ||||
|                 unfilter_impl<false, 3>(*context.bitmap, y, dummy_scanline.data()); | ||||
|             continue; | ||||
|         } | ||||
|         if (filter == 4) { | ||||
|             if (context.has_alpha()) | ||||
|                 unfilter_impl<true, 4>(*context.bitmap, y, dummy_scanline.pointer()); | ||||
|                 unfilter_impl<true, 4>(*context.bitmap, y, dummy_scanline.data()); | ||||
|             else | ||||
|                 unfilter_impl<false, 4>(*context.bitmap, y, dummy_scanline.pointer()); | ||||
|                 unfilter_impl<false, 4>(*context.bitmap, y, dummy_scanline.data()); | ||||
|             continue; | ||||
|         } | ||||
|     } | ||||
|  | @ -465,7 +465,7 @@ static bool process_IHDR(const ByteBuffer& data, PNGLoadingContext& context) | |||
| { | ||||
|     if (data.size() < (int)sizeof(PNG_IHDR)) | ||||
|         return false; | ||||
|     auto& ihdr = *(const PNG_IHDR*)data.pointer(); | ||||
|     auto& ihdr = *(const PNG_IHDR*)data.data(); | ||||
|     context.width = ihdr.width; | ||||
|     context.height = ihdr.height; | ||||
|     context.bit_depth = ihdr.bit_depth; | ||||
|  | @ -519,13 +519,13 @@ static bool process_IHDR(const ByteBuffer& data, PNGLoadingContext& context) | |||
| 
 | ||||
| static bool process_IDAT(const ByteBuffer& data, PNGLoadingContext& context) | ||||
| { | ||||
|     context.compressed_data.append(data.pointer(), data.size()); | ||||
|     context.compressed_data.append(data.data(), data.size()); | ||||
|     return true; | ||||
| } | ||||
| 
 | ||||
| static bool process_PLTE(const ByteBuffer& data, PNGLoadingContext& context) | ||||
| { | ||||
|     context.palette_data.append((const PaletteEntry*)data.pointer(), data.size() / 3); | ||||
|     context.palette_data.append((const PaletteEntry*)data.data(), data.size() / 3); | ||||
|     return true; | ||||
| } | ||||
| 
 | ||||
|  | @ -533,7 +533,7 @@ static bool process_tRNS(const ByteBuffer& data, PNGLoadingContext& context) | |||
| { | ||||
|     switch (context.color_type) { | ||||
|     case 3: | ||||
|         context.palette_transparency_data.append(data.pointer(), data.size()); | ||||
|         context.palette_transparency_data.append(data.data(), data.size()); | ||||
|         break; | ||||
|     } | ||||
|     return true; | ||||
|  |  | |||
|  | @ -108,7 +108,7 @@ int Database::init() | |||
|     if (!m_file.is_valid()) | ||||
|         return -1; | ||||
| 
 | ||||
|     m_view = StringView((const char*)m_file.pointer(), m_file.size()); | ||||
|     m_view = StringView((const char*)m_file.data(), m_file.size()); | ||||
| 
 | ||||
|     ParseMode mode = ParseMode::UnknownMode; | ||||
| 
 | ||||
|  |  | |||
|  | @ -42,7 +42,7 @@ static void load_etc_hosts() | |||
|         auto line = file->read_line(1024); | ||||
|         if (line.is_empty()) | ||||
|             break; | ||||
|         auto str_line = String((const char*)line.pointer(), line.size() - 1, Chomp); | ||||
|         auto str_line = String((const char*)line.data(), line.size() - 1, Chomp); | ||||
|         auto fields = str_line.split('\t'); | ||||
| 
 | ||||
|         auto sections = fields[0].split('.'); | ||||
|  | @ -254,7 +254,7 @@ Vector<String> lookup(const String& hostname, bool& did_timeout, const String& D | |||
|     dst_addr.sin_port = htons(53); | ||||
|     rc = inet_pton(AF_INET, DNS_IP.characters(), &dst_addr.sin_addr); | ||||
| 
 | ||||
|     int nsent = sendto(fd, buffer.pointer(), buffer.size(), 0, (const struct sockaddr*)&dst_addr, sizeof(dst_addr)); | ||||
|     int nsent = sendto(fd, buffer.data(), buffer.size(), 0, (const struct sockaddr*)&dst_addr, sizeof(dst_addr)); | ||||
|     if (nsent < 0) { | ||||
|         perror("sendto"); | ||||
|         return {}; | ||||
|  |  | |||
|  | @ -149,7 +149,7 @@ void Client::send_commands(Vector<Command> commands) | |||
|     for (auto& command : commands) | ||||
|         stream << (u8)IAC << command.command << command.subcommand; | ||||
|     stream.snip(); | ||||
|     m_socket->write(buffer.pointer(), buffer.size()); | ||||
|     m_socket->write(buffer.data(), buffer.size()); | ||||
| } | ||||
| 
 | ||||
| void Client::quit() | ||||
|  |  | |||
|  | @ -820,7 +820,7 @@ void load_history() | |||
|     while (history_file->can_read_line()) { | ||||
|         auto b = history_file->read_line(1024); | ||||
|         // skip the newline and terminating bytes
 | ||||
|         editor.add_to_history(String(reinterpret_cast<const char*>(b.pointer()), b.size() - 2)); | ||||
|         editor.add_to_history(String(reinterpret_cast<const char*>(b.data()), b.size() - 2)); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -129,7 +129,7 @@ Result benchmark(const String& filename, int file_size, int block_size, ByteBuff | |||
|     timer.start(); | ||||
|     int nwrote = 0; | ||||
|     for (int j = 0; j < file_size; j += block_size) { | ||||
|         int n = write(fd, buffer.pointer(), block_size); | ||||
|         int n = write(fd, buffer.data(), block_size); | ||||
|         if (n < 0) { | ||||
|             perror("write"); | ||||
|             cleanup_and_exit(); | ||||
|  | @ -146,7 +146,7 @@ Result benchmark(const String& filename, int file_size, int block_size, ByteBuff | |||
|     timer.start(); | ||||
|     int nread = 0; | ||||
|     while (nread < file_size) { | ||||
|         int n = read(fd, buffer.pointer(), block_size); | ||||
|         int n = read(fd, buffer.data(), block_size); | ||||
|         if (n < 0) { | ||||
|             perror("read"); | ||||
|             cleanup_and_exit(); | ||||
|  |  | |||
|  | @ -27,7 +27,7 @@ static String read_var(const String& name) | |||
|         fprintf(stderr, "read: %s", f->error_string()); | ||||
|         exit(1); | ||||
|     } | ||||
|     return String((const char*)b.pointer(), b.size(), Chomp); | ||||
|     return String((const char*)b.data(), b.size(), Chomp); | ||||
| } | ||||
| 
 | ||||
| static void write_var(const String& name, const String& value) | ||||
|  |  | |||
|  | @ -28,7 +28,7 @@ int tail_from_pos(CFile& file, off_t startline, bool want_follow) | |||
|             } | ||||
|         } | ||||
| 
 | ||||
|         if (write(STDOUT_FILENO, b.pointer(), b.size()) < 0) | ||||
|         if (write(STDOUT_FILENO, b.data(), b.size()) < 0) | ||||
|             return 1; | ||||
|     } | ||||
| 
 | ||||
|  | @ -57,7 +57,7 @@ off_t find_seek_pos(CFile& file, int wanted_lines) | |||
|             // Presumably the file got truncated?
 | ||||
|             // Keep trying to read backwards...
 | ||||
|         } else { | ||||
|             if (*ch.pointer() == '\n' && (end - pos) > 1) { | ||||
|             if (*ch.data() == '\n' && (end - pos) > 1) { | ||||
|                 lines++; | ||||
|                 if (lines == wanted_lines) | ||||
|                     break; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Andreas Kling
						Andreas Kling