Skip to content

Commit 57e1400

Browse files
committedMar 29, 2021
FIX: Minor code style change in the char module
Just use the simple inherent pointer methods here.
1 parent 0aab340 commit 57e1400

File tree

1 file changed

+10
-17
lines changed

1 file changed

+10
-17
lines changed
 

‎src/char.rs

+10-17
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@
1010
//
1111
// Original authors: alexchrichton, bluss
1212

13-
use std::ptr;
14-
1513
// UTF-8 ranges and tags for encoding characters
1614
const TAG_CONT: u8 = 0b1000_0000;
1715
const TAG_TWO_B: u8 = 0b1100_0000;
@@ -24,11 +22,6 @@ const MAX_THREE_B: u32 = 0x10000;
2422
/// Placeholder
2523
pub struct EncodeUtf8Error;
2624

27-
#[inline]
28-
unsafe fn write(ptr: *mut u8, index: usize, byte: u8) {
29-
ptr::write(ptr.add(index), byte)
30-
}
31-
3225
/// Encode a char into buf using UTF-8.
3326
///
3427
/// On success, return the byte length of the encoding (1, 2, 3 or 4).<br>
@@ -40,22 +33,22 @@ pub unsafe fn encode_utf8(ch: char, ptr: *mut u8, len: usize) -> Result<usize, E
4033
{
4134
let code = ch as u32;
4235
if code < MAX_ONE_B && len >= 1 {
43-
write(ptr, 0, code as u8);
36+
ptr.add(0).write(code as u8);
4437
return Ok(1);
4538
} else if code < MAX_TWO_B && len >= 2 {
46-
write(ptr, 0, (code >> 6 & 0x1F) as u8 | TAG_TWO_B);
47-
write(ptr, 1, (code & 0x3F) as u8 | TAG_CONT);
39+
ptr.add(0).write((code >> 6 & 0x1F) as u8 | TAG_TWO_B);
40+
ptr.add(1).write((code & 0x3F) as u8 | TAG_CONT);
4841
return Ok(2);
4942
} else if code < MAX_THREE_B && len >= 3 {
50-
write(ptr, 0, (code >> 12 & 0x0F) as u8 | TAG_THREE_B);
51-
write(ptr, 1, (code >> 6 & 0x3F) as u8 | TAG_CONT);
52-
write(ptr, 2, (code & 0x3F) as u8 | TAG_CONT);
43+
ptr.add(0).write((code >> 12 & 0x0F) as u8 | TAG_THREE_B);
44+
ptr.add(1).write((code >> 6 & 0x3F) as u8 | TAG_CONT);
45+
ptr.add(2).write((code & 0x3F) as u8 | TAG_CONT);
5346
return Ok(3);
5447
} else if len >= 4 {
55-
write(ptr, 0, (code >> 18 & 0x07) as u8 | TAG_FOUR_B);
56-
write(ptr, 1, (code >> 12 & 0x3F) as u8 | TAG_CONT);
57-
write(ptr, 2, (code >> 6 & 0x3F) as u8 | TAG_CONT);
58-
write(ptr, 3, (code & 0x3F) as u8 | TAG_CONT);
48+
ptr.add(0).write((code >> 18 & 0x07) as u8 | TAG_FOUR_B);
49+
ptr.add(1).write((code >> 12 & 0x3F) as u8 | TAG_CONT);
50+
ptr.add(2).write((code >> 6 & 0x3F) as u8 | TAG_CONT);
51+
ptr.add(3).write((code & 0x3F) as u8 | TAG_CONT);
5952
return Ok(4);
6053
};
6154
Err(EncodeUtf8Error)

0 commit comments

Comments
 (0)