fix peek_byte/2 crash (#1882)
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user