@@ -24,8 +24,7 @@ pub(crate) fn unescape(
2424 byte_escapes : bool ,
2525 allow_nul : bool ,
2626) -> Result < ( Unescape , usize ) , ParseError > {
27- let first = input. as_bytes ( ) . get ( 1 )
28- . ok_or ( perr ( 0 , UnterminatedEscape ) ) ?;
27+ let first = input. as_bytes ( ) . get ( 1 ) . ok_or ( perr ( 0 , UnterminatedEscape ) ) ?;
2928 let out = match first {
3029 // Quote escapes
3130 b'\'' => ( Unescape :: Byte ( b'\'' ) , 2 ) ,
@@ -45,10 +44,8 @@ pub(crate) fn unescape(
4544 let hex_string = input. get ( 2 ..4 )
4645 . ok_or ( perr ( 0 ..input. len ( ) , UnterminatedEscape ) ) ?
4746 . as_bytes ( ) ;
48- let first = hex_digit_value ( hex_string[ 0 ] )
49- . ok_or ( perr ( 0 ..4 , InvalidXEscape ) ) ?;
50- let second = hex_digit_value ( hex_string[ 1 ] )
51- . ok_or ( perr ( 0 ..4 , InvalidXEscape ) ) ?;
47+ let first = hex_digit_value ( hex_string[ 0 ] ) . ok_or ( perr ( 0 ..4 , InvalidXEscape ) ) ?;
48+ let second = hex_digit_value ( hex_string[ 1 ] ) . ok_or ( perr ( 0 ..4 , InvalidXEscape ) ) ?;
5249 let value = second + 16 * first;
5350
5451 if !byte_escapes && value > 0x7F {
@@ -87,8 +84,7 @@ pub(crate) fn unescape(
8784 continue ;
8885 }
8986
90- let digit = hex_digit_value ( b)
91- . ok_or ( perr ( 3 + i, NonHexDigitInUnicodeEscape ) ) ?;
87+ let digit = hex_digit_value ( b) . ok_or ( perr ( 3 + i, NonHexDigitInUnicodeEscape ) ) ?;
9288
9389 if digit_count == 6 {
9490 return Err ( perr ( 3 + i, TooManyDigitInUnicodeEscape ) ) ;
@@ -148,9 +144,15 @@ pub(crate) trait EscapeContainer {
148144}
149145
150146impl EscapeContainer for Vec < u8 > {
151- fn new ( ) -> Self { Self :: new ( ) }
152- fn is_empty ( & self ) -> bool { self . is_empty ( ) }
153- fn push_str ( & mut self , s : & str ) { self . extend_from_slice ( s. as_bytes ( ) ) ; }
147+ fn new ( ) -> Self {
148+ Self :: new ( )
149+ }
150+ fn is_empty ( & self ) -> bool {
151+ self . is_empty ( )
152+ }
153+ fn push_str ( & mut self , s : & str ) {
154+ self . extend_from_slice ( s. as_bytes ( ) ) ;
155+ }
154156 fn push ( & mut self , v : Unescape ) {
155157 match v {
156158 Unescape :: Byte ( b) => self . push ( b) ,
@@ -164,10 +166,18 @@ impl EscapeContainer for Vec<u8> {
164166}
165167
166168impl EscapeContainer for String {
167- fn new ( ) -> Self { Self :: new ( ) }
168- fn is_empty ( & self ) -> bool { self . is_empty ( ) }
169- fn push_str ( & mut self , s : & str ) { self . push_str ( s) ; }
170- fn push ( & mut self , v : Unescape ) { self . push ( v. unwrap_char ( ) ) ; }
169+ fn new ( ) -> Self {
170+ Self :: new ( )
171+ }
172+ fn is_empty ( & self ) -> bool {
173+ self . is_empty ( )
174+ }
175+ fn push_str ( & mut self , s : & str ) {
176+ self . push_str ( s) ;
177+ }
178+ fn push ( & mut self , v : Unescape ) {
179+ self . push ( v. unwrap_char ( ) ) ;
180+ }
171181}
172182
173183
0 commit comments