From 0060c8988a967d70ee69f9a779e75e552fffb500 Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Fri, 22 May 2020 15:58:07 -0600 Subject: [PATCH] use -1 as eof_code for binary streams (#555) --- src/prolog/machine/streams.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) 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)) -- 2.54.0