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~123^2~9 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=2716381e7b20fae2b0fb8e8e80f26d4582b345f9;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 a871750a..5fc5d451 100644 --- a/src/machine/system_calls.rs +++ b/src/machine/system_calls.rs @@ -1010,6 +1010,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()) {