]> Repositorios git - scryer-prolog.git/commitdiff
use self.deref(...) (see #653)
authorMarkus Triska <[email protected]>
Thu, 6 Aug 2020 18:12:57 +0000 (20:12 +0200)
committerMarkus Triska <[email protected]>
Thu, 6 Aug 2020 18:12:57 +0000 (20:12 +0200)
src/machine/system_calls.rs

index fa6ea0291174533d21895b3c5c2bae49483353bd..c91b63a77eb274c2cd1865f5e458ea51b249a4f8 100644 (file)
@@ -5447,8 +5447,10 @@ impl MachineState {
 
                 let algorithm = self.atom_argument_to_string(5);
 
+                let length = self.store(self.deref(self[temp_v!(6)]));
+
                 let length =
-                    match Number::try_from((self[temp_v!(6)], &self.heap)) {
+                    match Number::try_from((length, &self.heap)) {
                         Ok(Number::Fixnum(n)) => {
                             usize::try_from(n).unwrap()
                         }
@@ -5596,8 +5598,10 @@ impl MachineState {
                                   _ => { unreachable!() }
                                };
 
+                let scalar = self.store(self.deref(self[temp_v!(2)]));
+
                 let scalar =
-                    match Number::try_from((self[temp_v!(2)], &self.heap)) {
+                    match Number::try_from((scalar, &self.heap)) {
                         Ok(Number::Fixnum(n)) => {
                             Integer::from(n)
                         }