use -1 as eof_code for binary streams (#555)
This commit is contained in:
@@ -688,9 +688,14 @@ impl MachineState {
|
|||||||
return Err(self.open_past_eos_error(stream.clone(), caller, arity));
|
return Err(self.open_past_eos_error(stream.clone(), caller, arity));
|
||||||
}
|
}
|
||||||
EOFAction::EOFCode => {
|
EOFAction::EOFCode => {
|
||||||
let end_of_stream = self.heap.to_unifiable(
|
let end_of_stream =
|
||||||
|
if stream.options.stream_type == StreamType::Binary {
|
||||||
|
Addr::Fixnum(-1)
|
||||||
|
} else {
|
||||||
|
self.heap.to_unifiable(
|
||||||
HeapCellValue::Atom(clause_name!("end_of_file"), None)
|
HeapCellValue::Atom(clause_name!("end_of_file"), None)
|
||||||
);
|
)
|
||||||
|
};
|
||||||
|
|
||||||
stream.set_past_end_of_stream();
|
stream.set_past_end_of_stream();
|
||||||
Ok(self.unify(result, end_of_stream))
|
Ok(self.unify(result, end_of_stream))
|
||||||
|
|||||||
Reference in New Issue
Block a user