From: Mark Thom Date: Fri, 22 May 2020 21:58:07 +0000 (-0600) Subject: use -1 as eof_code for binary streams (#555) X-Git-Tag: v0.8.123~3 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=0060c8988a967d70ee69f9a779e75e552fffb500;p=scryer-prolog.git use -1 as eof_code for binary streams (#555) --- diff --git a/src/prolog/machine/streams.rs b/src/prolog/machine/streams.rs index 9e6ea491..6308017d 100644 --- a/src/prolog/machine/streams.rs +++ b/src/prolog/machine/streams.rs @@ -688,9 +688,14 @@ impl MachineState { return Err(self.open_past_eos_error(stream.clone(), caller, arity)); } EOFAction::EOFCode => { - let end_of_stream = self.heap.to_unifiable( - HeapCellValue::Atom(clause_name!("end_of_file"), None) - ); + 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) + ) + }; stream.set_past_end_of_stream(); Ok(self.unify(result, end_of_stream))