mirror of
https://github.com/serde-rs/json.git
synced 2026-03-23 10:03:55 +00:00
Collapse surrogate encode into extend_from_slice call
This commit is contained in:
18
src/read.rs
18
src/read.rs
@@ -864,13 +864,11 @@ fn parse_escape<'de, R: Read<'de>>(
|
||||
return error(read, ErrorCode::LoneLeadingSurrogateInHexEscape);
|
||||
}
|
||||
|
||||
let utf8_bytes = [
|
||||
scratch.extend_from_slice(&[
|
||||
(n >> 12 & 0x0F) as u8 | 0b1110_0000,
|
||||
(n >> 6 & 0x3F) as u8 | 0b1000_0000,
|
||||
(n & 0x3F) as u8 | 0b1000_0000,
|
||||
];
|
||||
|
||||
scratch.extend_from_slice(&utf8_bytes);
|
||||
]);
|
||||
|
||||
return Ok(());
|
||||
}
|
||||
@@ -886,13 +884,11 @@ fn parse_escape<'de, R: Read<'de>>(
|
||||
return error(read, ErrorCode::UnexpectedEndOfHexEscape);
|
||||
}
|
||||
|
||||
let utf8_bytes = [
|
||||
scratch.extend_from_slice(&[
|
||||
(n1 >> 12 & 0x0F) as u8 | 0b1110_0000,
|
||||
(n1 >> 6 & 0x3F) as u8 | 0b1000_0000,
|
||||
(n1 & 0x3F) as u8 | 0b1000_0000,
|
||||
];
|
||||
|
||||
scratch.extend_from_slice(&utf8_bytes);
|
||||
]);
|
||||
|
||||
return Ok(());
|
||||
}
|
||||
@@ -904,13 +900,11 @@ fn parse_escape<'de, R: Read<'de>>(
|
||||
return error(read, ErrorCode::UnexpectedEndOfHexEscape);
|
||||
}
|
||||
|
||||
let utf8_bytes = [
|
||||
scratch.extend_from_slice(&[
|
||||
(n1 >> 12 & 0x0F) as u8 | 0b1110_0000,
|
||||
(n1 >> 6 & 0x3F) as u8 | 0b1000_0000,
|
||||
(n1 & 0x3F) as u8 | 0b1000_0000,
|
||||
];
|
||||
|
||||
scratch.extend_from_slice(&utf8_bytes);
|
||||
]);
|
||||
|
||||
// The \ prior to this byte started an escape sequence,
|
||||
// so we need to parse that now.
|
||||
|
||||
Reference in New Issue
Block a user