@@ -92,7 +92,8 @@ impl serialize::Encoder for Encoder {
92
92
93
93
#[ inline]
94
94
fn emit_u16 ( & mut self , v : u16 ) -> EncodeResult {
95
- write_leb128 ! ( self , v, u16 , write_u16_leb128)
95
+ self . data . extend_from_slice ( & v. to_le_bytes ( ) ) ;
96
+ Ok ( ( ) )
96
97
}
97
98
98
99
#[ inline]
@@ -123,7 +124,8 @@ impl serialize::Encoder for Encoder {
123
124
124
125
#[ inline]
125
126
fn emit_i16 ( & mut self , v : i16 ) -> EncodeResult {
126
- write_leb128 ! ( self , v, i16 , write_i16_leb128)
127
+ self . data . extend_from_slice ( & v. to_le_bytes ( ) ) ;
128
+ Ok ( ( ) )
127
129
}
128
130
129
131
#[ inline]
@@ -446,7 +448,7 @@ impl serialize::Encoder for FileEncoder {
446
448
447
449
#[ inline]
448
450
fn emit_u16 ( & mut self , v : u16 ) -> FileEncodeResult {
449
- file_encoder_write_leb128 ! ( self , v , u16 , write_u16_leb128 )
451
+ self . write_all ( & v . to_le_bytes ( ) )
450
452
}
451
453
452
454
#[ inline]
@@ -476,13 +478,12 @@ impl serialize::Encoder for FileEncoder {
476
478
477
479
#[ inline]
478
480
fn emit_i16 ( & mut self , v : i16 ) -> FileEncodeResult {
479
- file_encoder_write_leb128 ! ( self , v , i16 , write_i16_leb128 )
481
+ self . write_all ( & v . to_le_bytes ( ) )
480
482
}
481
483
482
484
#[ inline]
483
485
fn emit_i8 ( & mut self , v : i8 ) -> FileEncodeResult {
484
- let as_u8: u8 = unsafe { std:: mem:: transmute ( v) } ;
485
- self . emit_u8 ( as_u8)
486
+ self . emit_u8 ( v as u8 )
486
487
}
487
488
488
489
#[ inline]
@@ -591,7 +592,10 @@ impl<'a> serialize::Decoder for Decoder<'a> {
591
592
592
593
#[ inline]
593
594
fn read_u16 ( & mut self ) -> Result < u16 , Self :: Error > {
594
- read_leb128 ! ( self , read_u16_leb128)
595
+ let bytes = [ self . data [ self . position ] , self . data [ self . position + 1 ] ] ;
596
+ let value = u16:: from_le_bytes ( bytes) ;
597
+ self . position += 2 ;
598
+ Ok ( value)
595
599
}
596
600
597
601
#[ inline]
@@ -623,7 +627,10 @@ impl<'a> serialize::Decoder for Decoder<'a> {
623
627
624
628
#[ inline]
625
629
fn read_i16 ( & mut self ) -> Result < i16 , Self :: Error > {
626
- read_leb128 ! ( self , read_i16_leb128)
630
+ let bytes = [ self . data [ self . position ] , self . data [ self . position + 1 ] ] ;
631
+ let value = i16:: from_le_bytes ( bytes) ;
632
+ self . position += 2 ;
633
+ Ok ( value)
627
634
}
628
635
629
636
#[ inline]
0 commit comments