1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 06:17:34 +00:00

LibDebug+LibCoredump: Replace remaining reinterpret_casts and C casts

You misused your toys and I'm now taking them away, reflect on what you
did wrong for a bit.
This commit is contained in:
Ali Mohammad Pur 2022-01-27 04:51:17 +03:30 committed by Linus Groh
parent da3c4e5df5
commit e0db9cb876
10 changed files with 68 additions and 64 deletions

View file

@ -100,10 +100,11 @@ private:
template<typename Func>
void Reader::for_each_memory_region_info(Func func) const
{
for (NotesEntryIterator it((const u8*)m_coredump_image.program_header(m_notes_segment_index).raw_data()); !it.at_end(); it.next()) {
NotesEntryIterator it(bit_cast<const u8*>(m_coredump_image.program_header(m_notes_segment_index).raw_data()));
for (; !it.at_end(); it.next()) {
if (it.type() != ELF::Core::NotesEntryHeader::Type::MemoryRegionInfo)
continue;
auto& memory_region_info = reinterpret_cast<const ELF::Core::MemoryRegionInfo&>(*it.current());
auto& memory_region_info = *bit_cast<const ELF::Core::MemoryRegionInfo*>(it.current());
IterationDecision decision = func(memory_region_info);
if (decision == IterationDecision::Break)
return;
@ -113,10 +114,11 @@ void Reader::for_each_memory_region_info(Func func) const
template<typename Func>
void Reader::for_each_thread_info(Func func) const
{
for (NotesEntryIterator it((const u8*)m_coredump_image.program_header(m_notes_segment_index).raw_data()); !it.at_end(); it.next()) {
NotesEntryIterator it(bit_cast<const u8*>(m_coredump_image.program_header(m_notes_segment_index).raw_data()));
for (; !it.at_end(); it.next()) {
if (it.type() != ELF::Core::NotesEntryHeader::Type::ThreadInfo)
continue;
auto& thread_info = reinterpret_cast<const ELF::Core::ThreadInfo&>(*it.current());
auto& thread_info = *bit_cast<const ELF::Core::ThreadInfo*>(it.current());
IterationDecision decision = func(thread_info);
if (decision == IterationDecision::Break)
return;