fix peek_byte/2 crash (#1882)

This commit is contained in:
Mark
2023-07-12 16:34:11 -06:00
parent d520046a4f
commit 29430ec88b

View File

@@ -2447,7 +2447,7 @@ impl Machine {
return Ok(()); return Ok(());
} }
match addr { let addr = match addr {
addr if addr.is_var() => addr, addr if addr.is_var() => addr,
addr => match Number::try_from(addr) { addr => match Number::try_from(addr) {
Ok(Number::Integer(n)) => { Ok(Number::Integer(n)) => {
@@ -2477,6 +2477,7 @@ impl Machine {
match stream.peek_byte().map_err(|e| e.kind()) { match stream.peek_byte().map_err(|e| e.kind()) {
Ok(b) => { Ok(b) => {
self.machine_st.unify_fixnum(Fixnum::build_with(b as i64), addr); self.machine_st.unify_fixnum(Fixnum::build_with(b as i64), addr);
break;
} }
Err(ErrorKind::PermissionDenied) => { Err(ErrorKind::PermissionDenied) => {
self.machine_st.fail = true; self.machine_st.fail = true;