]> Repositorios git - scryer-prolog.git/commitdiff
restructure based on suggestion
authorno382001 <[email protected]>
Tue, 31 Mar 2026 19:13:40 +0000 (21:13 +0200)
committerno382001 <[email protected]>
Tue, 31 Mar 2026 19:14:54 +0000 (21:14 +0200)
Co-authored-by: Bennet Bleßmann <[email protected]>
src/machine/streams.rs

index a2ac58a4af8111c9ecaee0929e80222eb56c7a61..94a9b34d357c9749c2d4ff255568ee4375275737 100644 (file)
@@ -657,27 +657,20 @@ impl Stream {
 
     #[inline]
     pub fn stdin(arena: &mut Arena, add_history: bool) -> Stream {
-        if std::io::stdin().is_terminal() {
-            Stream::Readline(arena_alloc!(
-                StreamLayout::new(ReadlineStream::new("", add_history)),
-                arena
-            ))
-        } else {
-            #[cfg(unix)]
-            {
-                use std::os::unix::io::{FromRawFd, RawFd};
-                // dup fd 0 so the File can be owned (and closed later) without
-                // closing the real stdin.
-                let fd = unsafe { libc::dup(0 as RawFd) };
-                let file = unsafe { File::from_raw_fd(fd) };
-                return Stream::from_file_as_input(atom!("user_input"), file, arena);
-            }
-            #[allow(unreachable_code)]
-            Stream::Readline(arena_alloc!(
-                StreamLayout::new(ReadlineStream::new("", add_history)),
-                arena
-            ))
+        #[cfg(unix)]
+        if !std::io::stdin().is_terminal() {
+            use std::os::unix::io::{FromRawFd, RawFd};
+            // dup fd 0 so the File can be owned (and closed later) without
+            // closing the real stdin.
+            let fd = unsafe { libc::dup(0 as RawFd) };
+            let file = unsafe { File::from_raw_fd(fd) };
+            return Stream::from_file_as_input(atom!("user_input"), file, arena);
         }
+
+        Stream::Readline(arena_alloc!(
+            StreamLayout::new(ReadlineStream::new("", add_history)),
+            arena
+        ))
     }
 
     pub fn from_tag(tag: ArenaHeaderTag, ptr: UntypedArenaPtr) -> Self {