]> Repositorios git - scryer-prolog.git/commitdiff
interpret '\u{0}' as end_of_file in get_char/1
authorMark <[email protected]>
Fri, 7 Jul 2023 17:05:44 +0000 (11:05 -0600)
committerMark <[email protected]>
Fri, 7 Jul 2023 17:05:44 +0000 (11:05 -0600)
src/machine/system_calls.rs

index f74ad4a8df6f98b7e609c467f41c311cc8236d64..13045f8c079a57fe03799854f1d3e29b17cfe09c 100644 (file)
@@ -3400,11 +3400,7 @@ impl Machine {
             let result = iter.read_char();
 
             match result {
-                Some(Ok(c)) => {
-                    self.machine_st.unify_char(c, addr);
-                    break;
-                }
-                _ => {
+                Some(Ok('\u{0}')) | Some(Err(_)) | None => {
                     self.machine_st.eof_action(
                         self.machine_st.registers[2],
                         stream,
@@ -3418,6 +3414,10 @@ impl Machine {
                         break;
                     }
                 }
+                Some(Ok(c)) => {
+                    self.machine_st.unify_char(c, addr);
+                    break;
+                }
             }
         }