@@ -161,12 +161,12 @@ impl<W: Write> WriteMessage for W {
161161 try!( buf. write_cstr ( portal) ) ;
162162 try!( buf. write_cstr ( statement) ) ;
163163
164- try!( buf. write_i16 :: < BigEndian > ( formats. len ( ) as i16 ) ) ;
164+ try!( buf. write_u16 :: < BigEndian > ( formats. len ( ) as u16 ) ) ;
165165 for & format in formats {
166166 try!( buf. write_i16 :: < BigEndian > ( format) ) ;
167167 }
168168
169- try!( buf. write_i16 :: < BigEndian > ( values. len ( ) as i16 ) ) ;
169+ try!( buf. write_u16 :: < BigEndian > ( values. len ( ) as u16 ) ) ;
170170 for value in values {
171171 match * value {
172172 None => try!( buf. write_i32 :: < BigEndian > ( -1 ) ) ,
@@ -177,7 +177,7 @@ impl<W: Write> WriteMessage for W {
177177 }
178178 }
179179
180- try!( buf. write_i16 :: < BigEndian > ( result_formats. len ( ) as i16 ) ) ;
180+ try!( buf. write_u16 :: < BigEndian > ( result_formats. len ( ) as u16 ) ) ;
181181 for & format in result_formats {
182182 try!( buf. write_i16 :: < BigEndian > ( format) ) ;
183183 }
@@ -215,7 +215,7 @@ impl<W: Write> WriteMessage for W {
215215 ident = Some ( b'P' ) ;
216216 try!( buf. write_cstr ( name) ) ;
217217 try!( buf. write_cstr ( query) ) ;
218- try!( buf. write_i16 :: < BigEndian > ( param_types. len ( ) as i16 ) ) ;
218+ try!( buf. write_u16 :: < BigEndian > ( param_types. len ( ) as u16 ) ) ;
219219 for & ty in param_types {
220220 try!( buf. write_u32 :: < BigEndian > ( ty) ) ;
221221 }
@@ -246,7 +246,7 @@ impl<W: Write> WriteMessage for W {
246246 }
247247
248248 // add size of length value
249- try!( self . write_i32 :: < BigEndian > ( ( buf. len ( ) + mem:: size_of :: < i32 > ( ) ) as i32 ) ) ;
249+ try!( self . write_u32 :: < BigEndian > ( ( buf. len ( ) + mem:: size_of :: < u32 > ( ) ) as u32 ) ) ;
250250 try!( self . write_all ( & * buf) ) ;
251251
252252 Ok ( ( ) )
@@ -277,7 +277,7 @@ impl<R: BufRead> ReadMessage for R {
277277 let ident = try!( self . read_u8 ( ) ) ;
278278
279279 // subtract size of length value
280- let len = try!( self . read_u32 :: < BigEndian > ( ) ) as usize - mem:: size_of :: < i32 > ( ) ;
280+ let len = try!( self . read_u32 :: < BigEndian > ( ) ) - mem:: size_of :: < u32 > ( ) as u32 ;
281281 let mut rdr = self . by_ref ( ) . take ( len as u64 ) ;
282282
283283 let ret = match ident {
@@ -380,7 +380,7 @@ fn read_auth_message<R: Read>(buf: &mut R) -> io::Result<BackendMessage> {
380380}
381381
382382fn read_parameter_description < R : Read > ( buf : & mut R ) -> io:: Result < BackendMessage > {
383- let len = try!( buf. read_i16 :: < BigEndian > ( ) ) as usize ;
383+ let len = try!( buf. read_u16 :: < BigEndian > ( ) ) as usize ;
384384 let mut types = Vec :: with_capacity ( len) ;
385385
386386 for _ in 0 ..len {
@@ -391,7 +391,7 @@ fn read_parameter_description<R: Read>(buf: &mut R) -> io::Result<BackendMessage
391391}
392392
393393fn read_row_description < R : BufRead > ( buf : & mut R ) -> io:: Result < BackendMessage > {
394- let len = try!( buf. read_i16 :: < BigEndian > ( ) ) as usize ;
394+ let len = try!( buf. read_u16 :: < BigEndian > ( ) ) as usize ;
395395 let mut types = Vec :: with_capacity ( len) ;
396396
397397 for _ in 0 ..len {
0 commit comments