9
9
// except according to those terms.
10
10
11
11
#[ inline]
12
- pub fn write_to_vec ( vec : & mut Vec < u8 > , position : & mut usize , byte : u8 )
13
- {
12
+ pub fn write_to_vec ( vec : & mut Vec < u8 > , position : & mut usize , byte : u8 ) {
14
13
if * position == vec. len ( ) {
15
14
vec. push ( byte) ;
16
15
} else {
@@ -20,13 +19,9 @@ pub fn write_to_vec(vec: &mut Vec<u8>, position: &mut usize, byte: u8)
20
19
* position += 1 ;
21
20
}
22
21
23
- pub fn write_unsigned_leb128 ( out : & mut Vec < u8 > ,
24
- start_position : usize ,
25
- mut value : u64 )
26
- -> usize {
22
+ pub fn write_unsigned_leb128 ( out : & mut Vec < u8 > , start_position : usize , mut value : u64 ) -> usize {
27
23
let mut position = start_position;
28
- loop
29
- {
24
+ loop {
30
25
let mut byte = ( value & 0x7F ) as u8 ;
31
26
value >>= 7 ;
32
27
if value != 0 {
@@ -43,9 +38,7 @@ pub fn write_unsigned_leb128(out: &mut Vec<u8>,
43
38
return position - start_position;
44
39
}
45
40
46
- pub fn read_unsigned_leb128 ( data : & [ u8 ] ,
47
- start_position : usize )
48
- -> ( u64 , usize ) {
41
+ pub fn read_unsigned_leb128 ( data : & [ u8 ] , start_position : usize ) -> ( u64 , usize ) {
49
42
let mut result = 0 ;
50
43
let mut shift = 0 ;
51
44
let mut position = start_position;
@@ -63,15 +56,13 @@ pub fn read_unsigned_leb128(data: &[u8],
63
56
}
64
57
65
58
66
- pub fn write_signed_leb128 ( out : & mut Vec < u8 > ,
67
- start_position : usize ,
68
- mut value : i64 ) -> usize {
59
+ pub fn write_signed_leb128 ( out : & mut Vec < u8 > , start_position : usize , mut value : i64 ) -> usize {
69
60
let mut position = start_position;
70
61
71
62
loop {
72
63
let mut byte = ( value as u8 ) & 0x7f ;
73
64
value >>= 7 ;
74
- let more = !( ( ( ( value == 0 ) && ( ( byte & 0x40 ) == 0 ) ) ||
65
+ let more = !( ( ( ( value == 0 ) && ( ( byte & 0x40 ) == 0 ) ) ||
75
66
( ( value == -1 ) && ( ( byte & 0x40 ) != 0 ) ) ) ) ;
76
67
if more {
77
68
byte |= 0x80 ; // Mark this byte to show that more bytes will follow.
@@ -87,9 +78,7 @@ pub fn write_signed_leb128(out: &mut Vec<u8>,
87
78
return position - start_position;
88
79
}
89
80
90
- pub fn read_signed_leb128 ( data : & [ u8 ] ,
91
- start_position : usize )
92
- -> ( i64 , usize ) {
81
+ pub fn read_signed_leb128 ( data : & [ u8 ] , start_position : usize ) -> ( i64 , usize ) {
93
82
let mut result = 0 ;
94
83
let mut shift = 0 ;
95
84
let mut position = start_position;
@@ -107,7 +96,7 @@ pub fn read_signed_leb128(data: &[u8],
107
96
}
108
97
109
98
if ( shift < 64 ) && ( ( byte & 0x40 ) != 0 ) {
110
- /* sign extend */
99
+ // sign extend
111
100
result |= -( 1i64 << shift) ;
112
101
}
113
102
0 commit comments