Skip to content

Commit a95d6df

Browse files
committed
Big endian support
1 parent 5496579 commit a95d6df

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/read.rs

+6-1
Original file line numberDiff line numberDiff line change
@@ -453,9 +453,14 @@ impl<'a> SliceRead<'a> {
453453
let contains_backslash = chars_backslash.wrapping_sub(ONE_BYTES) & !chars_backslash;
454454
let masked = (contains_ctrl | contains_quote | contains_backslash) & (ONE_BYTES << 7);
455455
if masked != 0 {
456+
let addresswise_first_bit = if cfg!(target_endian = "little") {
457+
masked.trailing_zeros()
458+
} else {
459+
masked.leading_zeros()
460+
};
456461
// SAFETY: chunk is in-bounds for slice
457462
self.index = unsafe { chunk.as_ptr().offset_from(self.slice.as_ptr()) } as usize
458-
+ masked.trailing_zeros() as usize / 8;
463+
+ addresswise_first_bit as usize / 8;
459464
return;
460465
}
461466
}

0 commit comments

Comments
 (0)