From 06969ac4491a0edd7083f1705c87281e1a0780f7 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Mon, 1 Nov 2021 00:07:15 -0400 Subject: [PATCH] sim: m68hc11: clean up pointer casts The void *data field is used to past arbitrary data between event handlers, and these are using it to pass an integer. Fix up the casts to avoid using (long) to cast to/from pointers since there is no guarantee that's the right size. --- sim/m68hc11/dv-m68hc11tim.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sim/m68hc11/dv-m68hc11tim.c b/sim/m68hc11/dv-m68hc11tim.c index 2c2e523da11..08604d31443 100644 --- a/sim/m68hc11/dv-m68hc11tim.c +++ b/sim/m68hc11/dv-m68hc11tim.c @@ -260,7 +260,7 @@ m68hc11tim_timer_event (struct hw *me, void *data) controller = hw_data (me); sd = hw_system (me); cpu = STATE_CPU (sd, 0); - type = (enum event_type) ((long) data) & 0x0FF; + type = (enum event_type) ((uintptr_t) data) & 0x0FF; events = STATE_EVENTS (sd); delay = 0; @@ -280,7 +280,7 @@ m68hc11tim_timer_event (struct hw *me, void *data) eventp = &controller->rti_timer_event; delay = controller->rti_prev_interrupt + controller->rti_delay; - if (((long) (data) & 0x0100) == 0) + if (((uintptr_t) data & 0x0100) == 0) { cpu->ios[M6811_TFLG2] |= M6811_RTIF; check_interrupt = 1; @@ -308,7 +308,7 @@ m68hc11tim_timer_event (struct hw *me, void *data) delay += events->nr_ticks_to_process; eventp = &controller->tof_timer_event; - if (((long) (data) & 0x100) == 0) + if (((uintptr_t) data & 0x100) == 0) { cpu->ios[M6811_TFLG2] |= M6811_TOF; check_interrupt = 1; -- 2.30.2