File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -58,7 +58,7 @@ fn main() -> ExitCode {
5858 let exe_path = binary_path ( & mut args) ;
5959 let exe_name = name ( & exe_path) ;
6060
61- let util_name = if exe_name == "diffutils" {
61+ let util_name = if exe_name. as_encoded_bytes ( ) . ends_with ( b "diffutils") {
6262 // Discard the item we peeked.
6363 let _ = args. next ( ) ;
6464
@@ -69,13 +69,17 @@ fn main() -> ExitCode {
6969 OsString :: from ( exe_name)
7070 } ;
7171
72- match util_name. to_str ( ) {
73- Some ( "diff" ) => diff:: main ( args) ,
74- Some ( "cmp" ) => cmp:: main ( args) ,
75- Some ( name) => {
76- eprintln ! ( "{name}: utility not supported" ) ;
72+ match util_name. as_encoded_bytes ( ) {
73+ name if name. ends_with ( b"diff" ) => diff:: main ( args) ,
74+ name if name. ends_with ( b"cmp" ) => cmp:: main ( args) ,
75+ name => {
76+ use std:: io:: { stderr, Write as _} ;
77+ let _ = writeln ! (
78+ stderr( ) ,
79+ "{}: utility not supported" ,
80+ String :: from_utf8_lossy( name)
81+ ) ;
7782 ExitCode :: from ( 2 )
7883 }
79- None => second_arg_error ( exe_name) ,
8084 }
8185}
You can’t perform that action at this time.
0 commit comments