From: Mark Date: Wed, 12 Jul 2023 22:34:11 +0000 (-0600) Subject: fix peek_byte/2 crash (#1882) X-Git-Tag: v0.9.2~63 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=29430ec88b55b5c49896287e486d33cd25f7b0c6;p=scryer-prolog.git fix peek_byte/2 crash (#1882) --- diff --git a/src/machine/system_calls.rs b/src/machine/system_calls.rs index 532fb1e3..7045eff0 100644 --- a/src/machine/system_calls.rs +++ b/src/machine/system_calls.rs @@ -2447,7 +2447,7 @@ impl Machine { return Ok(()); } - match addr { + let addr = match addr { addr if addr.is_var() => addr, addr => match Number::try_from(addr) { Ok(Number::Integer(n)) => { @@ -2477,6 +2477,7 @@ impl Machine { match stream.peek_byte().map_err(|e| e.kind()) { Ok(b) => { self.machine_st.unify_fixnum(Fixnum::build_with(b as i64), addr); + break; } Err(ErrorKind::PermissionDenied) => { self.machine_st.fail = true;