diff options
Diffstat (limited to 'src/devices/cpu/drcbeut.cpp')
-rw-r--r-- | src/devices/cpu/drcbeut.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/devices/cpu/drcbeut.cpp b/src/devices/cpu/drcbeut.cpp index 99f2a0615ac..bf49969ca06 100644 --- a/src/devices/cpu/drcbeut.cpp +++ b/src/devices/cpu/drcbeut.cpp @@ -491,17 +491,15 @@ void drc_label_list::block_end(drcuml_block &block) // undefined //------------------------------------------------- -drccodeptr drc_label_list::get_codeptr(uml::code_label label, drc_label_fixup_delegate callback, void *param) +drccodeptr drc_label_list::get_codeptr(uml::code_label label, drc_label_fixup_delegate const &callback, void *param) { - label_entry *curlabel = find_or_allocate(label); + label_entry *const curlabel = find_or_allocate(label); // if no code pointer, request an OOB callback - if (curlabel->m_codeptr == nullptr && !callback.isnull()) + if (!curlabel->m_codeptr && !callback.isnull()) { label_fixup *fixup = reinterpret_cast<label_fixup *>(m_cache.alloc(sizeof(*fixup))); - new (fixup) label_fixup; - fixup->m_callback = callback; - fixup->m_label = curlabel; + new (fixup) label_fixup{ nullptr, curlabel, callback }; m_fixup_list.append(*fixup); m_cache.request_oob_codegen(m_oob_callback_delegate, fixup, param); } |