From: Markus Triska Date: Mon, 29 May 2023 09:12:00 +0000 (+0200) Subject: FIXED: correct dereferencing in atom_codes/2 and number_codes/2. X-Git-Tag: v0.9.2~129^2 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=5154314786f0921e6ca65d1d99fc88e6ed6d49b5;p=scryer-prolog.git FIXED: correct dereferencing in atom_codes/2 and number_codes/2. This addresses #1818. Test case: run :- length(Ls, L), portray_clause(L), maplist(=(X), Ls), X = Y, Y = 12, atom_codes(_, Ls), false. --- diff --git a/src/machine/system_calls.rs b/src/machine/system_calls.rs index 61bd9b67..84714436 100644 --- a/src/machine/system_calls.rs +++ b/src/machine/system_calls.rs @@ -1011,6 +1011,8 @@ impl MachineState { let mut string = String::new(); for addr in addrs { + let addr = self.store(self.deref(addr)); + match Number::try_from(addr) { Ok(Number::Fixnum(n)) => { match u32::try_from(n.get_num()) {