From c65b298e609b6f51a75c13a32ec6097fad96f842 Mon Sep 17 00:00:00 2001 From: Integral Date: Thu, 21 Nov 2024 00:54:16 +0800 Subject: [PATCH] fix: throw an error when try to view a directory --- CHANGELOG.md | 6 ++++++ src/main.rs | 9 ++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 79a1c50..2bf2ea9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +# unreleased + +## Bugfixes + +- Throw an error when try to view a directory, see #234 (@Integral-Tech) + # v0.15.0 ## Features diff --git a/src/main.rs b/src/main.rs index a881d05..d760a95 100644 --- a/src/main.rs +++ b/src/main.rs @@ -234,7 +234,14 @@ fn run() -> Result<()> { let stdin = io::stdin(); let mut reader = match opt.file { - Some(filename) => Input::File(File::open(filename)?), + Some(filename) => { + let file = File::open(&filename)?; + if file.metadata()?.is_dir() { + return Err(anyhow!("{} is a directory.", filename.display())); + } + + Input::File(file) + } None => Input::Stdin(stdin.lock()), };