emma
/
breed
Archived
forked from mars/breed
1
0
Fork 0

It now opens to an empty buffer when there is no stdin

This commit is contained in:
Emma Tebibyte 2023-04-11 19:15:38 -04:00
parent 31d9cdf266
commit 6ed8a04c24
3 changed files with 8 additions and 1 deletions

1
Cargo.lock generated
View File

@ -62,6 +62,7 @@ version = "0.1.0"
dependencies = [
"arg",
"crossterm",
"libc",
"ropey",
"yacexits",
]

View File

@ -7,5 +7,6 @@ license = "AGPL-3.0-or-later"
[dependencies]
arg = "0.4.1"
crossterm = "0.26"
libc = "0.2.141"
ropey = "1.6"
yacexits = "0.1.5"

View File

@ -357,7 +357,12 @@ fn main() -> Result<()> {
let mut buf = Vec::new();
match argv.get(1).map(|s| s.as_str()) {
Some("-") | None => unsafe { File::from_raw_fd(0) }, // stdin as a file
Some("-") | None => {
let stdin = 0; // get stdin as a file descriptor
if unsafe { libc::isatty(stdin) } == 0 {
unsafe { File::from_raw_fd(stdin) }
} else { File::open("/dev/null").unwrap() }
},
Some(path) => {
std::fs::File::open(path).unwrap_or_else(|_| {
eprintln!(