@@ -36,7 +36,15 @@ impl VolumeName {
36
36
37
37
/// Get name
38
38
pub fn name ( & self ) -> & [ u8 ] {
39
- self . contents . trim_ascii_end ( )
39
+ let mut bytes = & self . contents [ ..] ;
40
+ while let [ rest @ .., last] = bytes {
41
+ if last. is_ascii_whitespace ( ) {
42
+ bytes = rest;
43
+ } else {
44
+ break ;
45
+ }
46
+ }
47
+ bytes
40
48
}
41
49
42
50
/// Create a new MS-DOS volume label.
@@ -595,7 +603,7 @@ impl FatVolume {
595
603
lfn_buffer. push ( & buffer) ;
596
604
SeqState :: Complete { csum }
597
605
}
598
- ( true , 0x02 .. 0x14 , _) => {
606
+ ( true , sequence , _) if sequence >= 0x02 && sequence < 0x14 => {
599
607
lfn_buffer. clear ( ) ;
600
608
lfn_buffer. push ( & buffer) ;
601
609
SeqState :: Remaining {
@@ -607,7 +615,9 @@ impl FatVolume {
607
615
lfn_buffer. push ( & buffer) ;
608
616
SeqState :: Complete { csum }
609
617
}
610
- ( false , 0x01 ..0x13 , SeqState :: Remaining { csum, next } ) if next == sequence => {
618
+ ( false , sequence, SeqState :: Remaining { csum, next } )
619
+ if sequence >= 0x01 && sequence < 0x13 && next == sequence =>
620
+ {
611
621
lfn_buffer. push ( & buffer) ;
612
622
SeqState :: Remaining {
613
623
csum,
0 commit comments