@@ -7,8 +7,8 @@ use clap::{crate_version, Arg, ArgAction, Command};
7
7
use std:: fs:: File ;
8
8
use std:: io:: { stdin, BufRead , BufReader , Read } ;
9
9
use std:: path:: Path ;
10
- use uucore:: error:: { FromIo , UResult , USimpleError } ;
11
- use uucore:: { format_usage, help_about, help_section, help_usage} ;
10
+ use uucore:: error:: { set_exit_code , FromIo , UResult , USimpleError } ;
11
+ use uucore:: { format_usage, help_about, help_section, help_usage, show_error } ;
12
12
13
13
mod helper;
14
14
@@ -205,9 +205,15 @@ pub fn uumain(args: impl uucore::Args) -> UResult<()> {
205
205
nl ( & mut buffer, & mut stats, & settings) ?;
206
206
} else {
207
207
let path = Path :: new ( file) ;
208
- let reader = File :: open ( path) . map_err_context ( || file. to_string ( ) ) ?;
209
- let mut buffer = BufReader :: new ( reader) ;
210
- nl ( & mut buffer, & mut stats, & settings) ?;
208
+
209
+ if path. is_dir ( ) {
210
+ show_error ! ( "{}: Is a directory" , path. display( ) ) ;
211
+ set_exit_code ( 1 ) ;
212
+ } else {
213
+ let reader = File :: open ( path) . map_err_context ( || file. to_string ( ) ) ?;
214
+ let mut buffer = BufReader :: new ( reader) ;
215
+ nl ( & mut buffer, & mut stats, & settings) ?;
216
+ }
211
217
}
212
218
}
213
219
0 commit comments