@@ -306,33 +306,32 @@ fn parse_name_info(name: &str) -> Result<NameInfo> {
306306 name
307307 ) ) ;
308308 }
309+ let name = name. as_bytes ( ) ;
309310 let prefix = & name[ ..3 ] ;
310- if !prefix. eq_ignore_ascii_case ( "res" ) {
311+ if !prefix. eq_ignore_ascii_case ( b "res") {
311312 return Err ( anyhow:: anyhow!(
312- "Filename '{}' does not start with 'res'." ,
313+ "Filename '{:#? }' does not start with 'res'." ,
313314 name
314315 ) ) ;
315316 }
316317 let suffix = & name[ name. len ( ) - 4 ..] ;
317- if !suffix. eq_ignore_ascii_case ( ".grp" ) {
318+ if !suffix. eq_ignore_ascii_case ( b ".grp") {
318319 return Err ( anyhow:: anyhow!(
319- "Filename '{}' does not end with '.grp'." ,
320+ "Filename '{:#? }' does not end with '.grp'." ,
320321 name
321322 ) ) ;
322323 }
323324 let digits = & name[ 3 ..name. len ( ) - 4 ] ;
324- if digits. is_empty ( ) || !digits. chars ( ) . all ( |c| c. is_ascii_digit ( ) ) {
325+ if digits. is_empty ( ) || !digits. iter ( ) . all ( |c| c. is_ascii_digit ( ) ) {
325326 return Err ( anyhow:: anyhow!(
326- "Filename '{}' does not contain a numeric sequence." ,
327+ "Filename '{:#? }' does not contain a numeric sequence." ,
327328 name
328329 ) ) ;
329330 }
330- let arc_num = digits. parse :: < u32 > ( ) . with_context ( || {
331- format ! (
332- "Failed to parse archive number from '{}' (digits '{}')." ,
333- name, digits
334- )
335- } ) ?;
331+ let arc_num = std:: str:: from_utf8 ( digits)
332+ . with_context ( || format ! ( "Failed to parse archive number from '{:#?}' (digits '{:#?}')." , name, digits) ) ?
333+ . parse :: < u32 > ( )
334+ . with_context ( || format ! ( "Failed to parse archive number from '{:#?}' (digits '{:#?}')." , name, digits) ) ?;
336335 Ok ( NameInfo {
337336 digits_offset : 3 ,
338337 digits_len : digits. len ( ) ,
0 commit comments