summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/formats/fsblk_vec.cpp
diff options
context:
space:
mode:
author AJR <ariedlmayer@gmail.com>2025-03-02 22:32:09 -0500
committer AJR <ariedlmayer@gmail.com>2025-03-02 22:32:09 -0500
commit7e62c257243f2fd1b1d29570271e51d6336ebfb9 (patch)
tree73178285154a3400168eab01d7c04c22f208fb72 /src/lib/formats/fsblk_vec.cpp
parentacf0aeaa4bb4c149faee749043d575875feb53a2 (diff)
fsblk.cpp: Internal overhaul
- Replace custom reference counting wrapper with std::shared_ptr - Rename fsblk_t::block_t::copy to write and use it in a few more places - Add fsblk_t::block_t::read - Rename fsblk_t::block_t::offset and rooffset due to name collisions and privatize these helper functions - Rename fsblk_t::fill to fill_all for clarity's sake
Diffstat (limited to 'src/lib/formats/fsblk_vec.cpp')
-rw-r--r--src/lib/formats/fsblk_vec.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/lib/formats/fsblk_vec.cpp b/src/lib/formats/fsblk_vec.cpp
index e80cad8c51c..a04d60c263c 100644
--- a/src/lib/formats/fsblk_vec.cpp
+++ b/src/lib/formats/fsblk_vec.cpp
@@ -12,7 +12,7 @@
namespace fs {
-const u8 *fsblk_vec_t::blk_t::rodata()
+const u8 *fsblk_vec_t::blk_t::rodata() const
{
return m_data;
}
@@ -22,23 +22,19 @@ u8 *fsblk_vec_t::blk_t::data()
return m_data;
}
-void fsblk_vec_t::blk_t::drop_weak_references()
-{
-}
-
u32 fsblk_vec_t::block_count() const
{
return m_data.size() / m_block_size;
}
-fsblk_t::block_t fsblk_vec_t::get(u32 id)
+fsblk_vec_t::block_t::ptr fsblk_vec_t::get(u32 id)
{
if(id >= block_count())
throw std::out_of_range(util::string_format("Block number overflow: requiring block %d on device of size %d (%d bytes, block size %d)", id, block_count(), m_data.size(), m_block_size));
- return block_t(new blk_t(m_data.data() + m_block_size*id, m_block_size));
+ return std::make_shared<blk_t>(m_data.data() + m_block_size*id, m_block_size);
}
-void fsblk_vec_t::fill(u8 data)
+void fsblk_vec_t::fill_all(u8 data)
{
std::fill(m_data.begin(), m_data.end(), data);
}