@@ -149,8 +149,8 @@ fn parse_expression(tokens: &mut Vec<&str>) -> Vec<Expr> {
149
149
"-size" => {
150
150
tokens. pop ( ) ;
151
151
if let Some ( size) = tokens. pop ( ) {
152
- let ( size, in_bytes) = if size. ends_with ( 'c' ) {
153
- ( size [ ..size . len ( ) - 1 ] . parse :: < u64 > ( ) . unwrap_or ( 0 ) , true )
152
+ let ( size, in_bytes) = if let Some ( st ) = size. strip_suffix ( 'c' ) {
153
+ ( st . parse :: < u64 > ( ) . unwrap_or ( 0 ) , true )
154
154
} else {
155
155
( size. parse :: < u64 > ( ) . unwrap_or ( 0 ) , false )
156
156
} ;
@@ -250,15 +250,15 @@ fn evaluate_expression(
250
250
match expression {
251
251
Expr :: Not ( inner) => {
252
252
let i: Vec < Expr > = vec ! [ f_path. clone( ) , * inner. clone( ) ] ;
253
- not_res = evaluate_expression ( & i. as_slice ( ) , files. clone ( ) , root_dev) ?;
253
+ not_res = evaluate_expression ( i. as_slice ( ) , files. clone ( ) , root_dev) ?;
254
254
}
255
255
Expr :: Or ( inner) => {
256
256
let i: Vec < Expr > = vec ! [ f_path. clone( ) , * inner. clone( ) ] ;
257
- or_res = evaluate_expression ( & i. as_slice ( ) , files. clone ( ) , root_dev) ?;
257
+ or_res = evaluate_expression ( i. as_slice ( ) , files. clone ( ) , root_dev) ?;
258
258
}
259
259
Expr :: And ( inner) => {
260
260
let i: Vec < Expr > = vec ! [ f_path. clone( ) , * inner. clone( ) ] ;
261
- and_res = evaluate_expression ( & i. as_slice ( ) , files. clone ( ) , root_dev) ?;
261
+ and_res = evaluate_expression ( i. as_slice ( ) , files. clone ( ) , root_dev) ?;
262
262
}
263
263
_ => { }
264
264
}
@@ -307,7 +307,7 @@ fn evaluate_expression(
307
307
FileType :: Fifo => file_type. is_fifo ( ) ,
308
308
FileType :: File => file_type. is_file ( ) ,
309
309
FileType :: Socket => file_type. is_socket ( ) ,
310
- FileType :: Unknown => return Err ( format ! ( "Unknown argument to -type" ) ) ,
310
+ FileType :: Unknown => return Err ( "Unknown argument to -type" . to_string ( ) ) ,
311
311
} ;
312
312
if !r {
313
313
c_files. remove ( file. path ( ) ) ;
@@ -316,15 +316,15 @@ fn evaluate_expression(
316
316
Expr :: NoUser => {
317
317
if let Ok ( metadata) = file. metadata ( ) {
318
318
let uid = metadata. uid ( ) ;
319
- if ! users:: get_user_by_uid ( uid) . is_none ( ) {
319
+ if users:: get_user_by_uid ( uid) . is_some ( ) {
320
320
c_files. remove ( file. path ( ) ) ;
321
321
}
322
322
}
323
323
}
324
324
Expr :: NoGroup => {
325
325
if let Ok ( metadata) = file. metadata ( ) {
326
326
let gid = metadata. gid ( ) ;
327
- if ! users:: get_group_by_gid ( gid) . is_none ( ) {
327
+ if users:: get_group_by_gid ( gid) . is_some ( ) {
328
328
c_files. remove ( file. path ( ) ) ;
329
329
}
330
330
}
0 commit comments