@@ -125,7 +125,7 @@ trait WriteCStr {
125125
126126impl < W : Writer > WriteCStr for W {
127127 fn write_cstr ( & mut self , s : & str ) -> IoResult < ( ) > {
128- if_ok ! ( self . write( s. as_bytes( ) ) ) ;
128+ try !( self . write ( s. as_bytes ( ) ) ) ;
129129 self . write_u8 ( 0 )
130130 }
131131}
@@ -144,78 +144,78 @@ impl<W: Writer> WriteMessage for W {
144144 match * message {
145145 Bind { portal, statement, formats, values, result_formats } => {
146146 ident = Some ( 'B' ) ;
147- if_ok ! ( buf. write_cstr( portal) ) ;
148- if_ok ! ( buf. write_cstr( statement) ) ;
147+ try !( buf. write_cstr ( portal) ) ;
148+ try !( buf. write_cstr ( statement) ) ;
149149
150- if_ok ! ( buf. write_be_i16( formats. len( ) as i16 ) ) ;
150+ try !( buf. write_be_i16 ( formats. len ( ) as i16 ) ) ;
151151 for format in formats. iter ( ) {
152- if_ok ! ( buf. write_be_i16( * format) ) ;
152+ try !( buf. write_be_i16 ( * format) ) ;
153153 }
154154
155- if_ok ! ( buf. write_be_i16( values. len( ) as i16 ) ) ;
155+ try !( buf. write_be_i16 ( values. len ( ) as i16 ) ) ;
156156 for value in values. iter ( ) {
157157 match * value {
158158 None => {
159- if_ok ! ( buf. write_be_i32( -1 ) ) ;
159+ try !( buf. write_be_i32 ( -1 ) ) ;
160160 }
161161 Some ( ref value) => {
162- if_ok ! ( buf. write_be_i32( value. len( ) as i32 ) ) ;
163- if_ok ! ( buf. write( * value) ) ;
162+ try !( buf. write_be_i32 ( value. len ( ) as i32 ) ) ;
163+ try !( buf. write ( * value) ) ;
164164 }
165165 }
166166 }
167167
168- if_ok ! ( buf. write_be_i16( result_formats. len( ) as i16 ) ) ;
168+ try !( buf. write_be_i16 ( result_formats. len ( ) as i16 ) ) ;
169169 for format in result_formats. iter ( ) {
170- if_ok ! ( buf. write_be_i16( * format) ) ;
170+ try !( buf. write_be_i16 ( * format) ) ;
171171 }
172172 }
173173 CancelRequest { code, process_id, secret_key } => {
174- if_ok ! ( buf. write_be_i32( code) ) ;
175- if_ok ! ( buf. write_be_i32( process_id) ) ;
176- if_ok ! ( buf. write_be_i32( secret_key) ) ;
174+ try !( buf. write_be_i32 ( code) ) ;
175+ try !( buf. write_be_i32 ( process_id) ) ;
176+ try !( buf. write_be_i32 ( secret_key) ) ;
177177 }
178178 Close { variant, name } => {
179179 ident = Some ( 'C' ) ;
180- if_ok ! ( buf. write_u8( variant) ) ;
181- if_ok ! ( buf. write_cstr( name) ) ;
180+ try !( buf. write_u8 ( variant) ) ;
181+ try !( buf. write_cstr ( name) ) ;
182182 }
183183 Describe { variant, name } => {
184184 ident = Some ( 'D' ) ;
185- if_ok ! ( buf. write_u8( variant) ) ;
186- if_ok ! ( buf. write_cstr( name) ) ;
185+ try !( buf. write_u8 ( variant) ) ;
186+ try !( buf. write_cstr ( name) ) ;
187187 }
188188 Execute { portal, max_rows } => {
189189 ident = Some ( 'E' ) ;
190- if_ok ! ( buf. write_cstr( portal) ) ;
191- if_ok ! ( buf. write_be_i32( max_rows) ) ;
190+ try !( buf. write_cstr ( portal) ) ;
191+ try !( buf. write_be_i32 ( max_rows) ) ;
192192 }
193193 Parse { name, query, param_types } => {
194194 ident = Some ( 'P' ) ;
195- if_ok ! ( buf. write_cstr( name) ) ;
196- if_ok ! ( buf. write_cstr( query) ) ;
197- if_ok ! ( buf. write_be_i16( param_types. len( ) as i16 ) ) ;
195+ try !( buf. write_cstr ( name) ) ;
196+ try !( buf. write_cstr ( query) ) ;
197+ try !( buf. write_be_i16 ( param_types. len ( ) as i16 ) ) ;
198198 for ty in param_types. iter ( ) {
199- if_ok ! ( buf. write_be_i32( * ty) ) ;
199+ try !( buf. write_be_i32 ( * ty) ) ;
200200 }
201201 }
202202 PasswordMessage { password } => {
203203 ident = Some ( 'p' ) ;
204- if_ok ! ( buf. write_cstr( password) ) ;
204+ try !( buf. write_cstr ( password) ) ;
205205 }
206206 Query { query } => {
207207 ident = Some ( 'Q' ) ;
208- if_ok ! ( buf. write_cstr( query) ) ;
208+ try !( buf. write_cstr ( query) ) ;
209209 }
210210 StartupMessage { version, parameters } => {
211- if_ok ! ( buf. write_be_i32( version) ) ;
211+ try !( buf. write_be_i32 ( version) ) ;
212212 for & ( ref k, ref v) in parameters. iter ( ) {
213- if_ok ! ( buf. write_cstr( k. as_slice( ) ) ) ;
214- if_ok ! ( buf. write_cstr( v. as_slice( ) ) ) ;
213+ try !( buf. write_cstr ( k. as_slice ( ) ) ) ;
214+ try !( buf. write_cstr ( v. as_slice ( ) ) ) ;
215215 }
216- if_ok ! ( buf. write_u8( 0 ) ) ;
216+ try !( buf. write_u8 ( 0 ) ) ;
217217 }
218- SslRequest { code } => if_ok ! ( buf. write_be_i32( code) ) ,
218+ SslRequest { code } => try !( buf. write_be_i32 ( code) ) ,
219219 Sync => {
220220 ident = Some ( 'S' ) ;
221221 }
@@ -225,15 +225,15 @@ impl<W: Writer> WriteMessage for W {
225225 }
226226
227227 match ident {
228- Some ( ident) => if_ok ! ( self . write_u8( ident as u8 ) ) ,
228+ Some ( ident) => try !( self . write_u8 ( ident as u8 ) ) ,
229229 None => ( )
230230 }
231231
232232 let buf = buf. unwrap ( ) ;
233233
234234 // add size of length value
235- if_ok ! ( self . write_be_i32( ( buf. len( ) + mem:: size_of:: <i32 >( ) ) as i32 ) ) ;
236- if_ok ! ( self . write( buf) ) ;
235+ try !( self . write_be_i32 ( ( buf. len ( ) + mem:: size_of :: < i32 > ( ) ) as i32 ) ) ;
236+ try !( self . write ( buf) ) ;
237237
238238 Ok ( ( ) )
239239 }
@@ -246,7 +246,7 @@ trait ReadCStr {
246246
247247impl < R : Buffer > ReadCStr for R {
248248 fn read_cstr ( & mut self ) -> IoResult < ~str > {
249- let mut buf = if_ok ! ( self . read_until( 0 ) ) ;
249+ let mut buf = try !( self . read_until ( 0 ) ) ;
250250 buf. pop ( ) ;
251251 Ok ( str:: from_utf8_owned ( buf) . unwrap ( ) )
252252 }
@@ -261,39 +261,39 @@ impl<R: Reader> ReadMessage for R {
261261 fn read_message ( & mut self ) -> IoResult < BackendMessage > {
262262 debug ! ( "Reading message" ) ;
263263
264- let ident = if_ok ! ( self . read_u8( ) ) ;
264+ let ident = try !( self . read_u8 ( ) ) ;
265265 // subtract size of length value
266- let len = if_ok ! ( self . read_be_i32( ) ) as uint - mem:: size_of :: < i32 > ( ) ;
267- let mut buf = MemReader :: new ( if_ok ! ( self . read_bytes( len) ) ) ;
266+ let len = try !( self . read_be_i32 ( ) ) as uint - mem:: size_of :: < i32 > ( ) ;
267+ let mut buf = MemReader :: new ( try !( self . read_bytes ( len) ) ) ;
268268
269269 let ret = match ident as char {
270270 '1' => ParseComplete ,
271271 '2' => BindComplete ,
272272 '3' => CloseComplete ,
273273 'A' => NotificationResponse {
274- pid : if_ok ! ( buf. read_be_i32( ) ) ,
275- channel : if_ok ! ( buf. read_cstr( ) ) ,
276- payload : if_ok ! ( buf. read_cstr( ) )
274+ pid : try !( buf. read_be_i32 ( ) ) ,
275+ channel : try !( buf. read_cstr ( ) ) ,
276+ payload : try !( buf. read_cstr ( ) )
277277 } ,
278- 'C' => CommandComplete { tag : if_ok ! ( buf. read_cstr( ) ) } ,
279- 'D' => if_ok ! ( read_data_row( & mut buf) ) ,
280- 'E' => ErrorResponse { fields : if_ok ! ( read_fields( & mut buf) ) } ,
278+ 'C' => CommandComplete { tag : try !( buf. read_cstr ( ) ) } ,
279+ 'D' => try !( read_data_row ( & mut buf) ) ,
280+ 'E' => ErrorResponse { fields : try !( read_fields ( & mut buf) ) } ,
281281 'I' => EmptyQueryResponse ,
282282 'K' => BackendKeyData {
283- process_id : if_ok ! ( buf. read_be_i32( ) ) ,
284- secret_key : if_ok ! ( buf. read_be_i32( ) )
283+ process_id : try !( buf. read_be_i32 ( ) ) ,
284+ secret_key : try !( buf. read_be_i32 ( ) )
285285 } ,
286286 'n' => NoData ,
287- 'N' => NoticeResponse { fields : if_ok ! ( read_fields( & mut buf) ) } ,
288- 'R' => if_ok ! ( read_auth_message( & mut buf) ) ,
287+ 'N' => NoticeResponse { fields : try !( read_fields ( & mut buf) ) } ,
288+ 'R' => try !( read_auth_message ( & mut buf) ) ,
289289 's' => PortalSuspended ,
290290 'S' => ParameterStatus {
291- parameter : if_ok ! ( buf. read_cstr( ) ) ,
292- value : if_ok ! ( buf. read_cstr( ) )
291+ parameter : try !( buf. read_cstr ( ) ) ,
292+ value : try !( buf. read_cstr ( ) )
293293 } ,
294- 't' => if_ok ! ( read_parameter_description( & mut buf) ) ,
295- 'T' => if_ok ! ( read_row_description( & mut buf) ) ,
296- 'Z' => ReadyForQuery { state : if_ok ! ( buf. read_u8( ) ) } ,
294+ 't' => try !( read_parameter_description ( & mut buf) ) ,
295+ 'T' => try !( read_row_description ( & mut buf) ) ,
296+ 'Z' => ReadyForQuery { state : try !( buf. read_u8 ( ) ) } ,
297297 ident => fail ! ( "Unknown message identifier `{}`" , ident)
298298 } ;
299299 debug ! ( "Read message {:?}" , ret) ;
@@ -304,25 +304,25 @@ impl<R: Reader> ReadMessage for R {
304304fn read_fields ( buf : & mut MemReader ) -> IoResult < ~[ ( u8 , ~str ) ] > {
305305 let mut fields = ~[ ] ;
306306 loop {
307- let ty = if_ok ! ( buf. read_u8( ) ) ;
307+ let ty = try !( buf. read_u8 ( ) ) ;
308308 if ty == 0 {
309309 break ;
310310 }
311311
312- fields. push ( ( ty, if_ok ! ( buf. read_cstr( ) ) ) ) ;
312+ fields. push ( ( ty, try !( buf. read_cstr ( ) ) ) ) ;
313313 }
314314
315315 Ok ( fields)
316316}
317317
318318fn read_data_row ( buf : & mut MemReader ) -> IoResult < BackendMessage > {
319- let len = if_ok ! ( buf. read_be_i16( ) ) as uint ;
319+ let len = try !( buf. read_be_i16 ( ) ) as uint ;
320320 let mut values = vec:: with_capacity ( len) ;
321321
322322 for _ in range ( 0 , len) {
323- let val = match if_ok ! ( buf. read_be_i32( ) ) {
323+ let val = match try !( buf. read_be_i32 ( ) ) {
324324 -1 => None ,
325- len => Some ( if_ok ! ( buf. read_bytes( len as uint) ) )
325+ len => Some ( try !( buf. read_bytes ( len as uint ) ) )
326326 } ;
327327 values. push ( val) ;
328328 }
@@ -331,11 +331,11 @@ fn read_data_row(buf: &mut MemReader) -> IoResult<BackendMessage> {
331331}
332332
333333fn read_auth_message ( buf : & mut MemReader ) -> IoResult < BackendMessage > {
334- Ok ( match if_ok ! ( buf. read_be_i32( ) ) {
334+ Ok ( match try !( buf. read_be_i32 ( ) ) {
335335 0 => AuthenticationOk ,
336336 2 => AuthenticationKerberosV5 ,
337337 3 => AuthenticationCleartextPassword ,
338- 5 => AuthenticationMD5Password { salt : if_ok ! ( buf. read_bytes( 4 ) ) } ,
338+ 5 => AuthenticationMD5Password { salt : try !( buf. read_bytes ( 4 ) ) } ,
339339 6 => AuthenticationSCMCredential ,
340340 7 => AuthenticationGSS ,
341341 9 => AuthenticationSSPI ,
@@ -344,29 +344,29 @@ fn read_auth_message(buf: &mut MemReader) -> IoResult<BackendMessage> {
344344}
345345
346346fn read_parameter_description ( buf : & mut MemReader ) -> IoResult < BackendMessage > {
347- let len = if_ok ! ( buf. read_be_i16( ) ) as uint ;
347+ let len = try !( buf. read_be_i16 ( ) ) as uint ;
348348 let mut types = vec:: with_capacity ( len) ;
349349
350350 for _ in range ( 0 , len) {
351- types. push ( if_ok ! ( buf. read_be_u32( ) ) ) ;
351+ types. push ( try !( buf. read_be_u32 ( ) ) ) ;
352352 }
353353
354354 Ok ( ParameterDescription { types : types } )
355355}
356356
357357fn read_row_description ( buf : & mut MemReader ) -> IoResult < BackendMessage > {
358- let len = if_ok ! ( buf. read_be_i16( ) ) as uint ;
358+ let len = try !( buf. read_be_i16 ( ) ) as uint ;
359359 let mut types = vec:: with_capacity ( len) ;
360360
361361 for _ in range ( 0 , len) {
362362 types. push ( RowDescriptionEntry {
363- name : if_ok ! ( buf. read_cstr( ) ) ,
364- table_oid : if_ok ! ( buf. read_be_u32( ) ) ,
365- column_id : if_ok ! ( buf. read_be_i16( ) ) ,
366- type_oid : if_ok ! ( buf. read_be_u32( ) ) ,
367- type_size : if_ok ! ( buf. read_be_i16( ) ) ,
368- type_modifier : if_ok ! ( buf. read_be_i32( ) ) ,
369- format : if_ok ! ( buf. read_be_i16( ) )
363+ name : try !( buf. read_cstr ( ) ) ,
364+ table_oid : try !( buf. read_be_u32 ( ) ) ,
365+ column_id : try !( buf. read_be_i16 ( ) ) ,
366+ type_oid : try !( buf. read_be_u32 ( ) ) ,
367+ type_size : try !( buf. read_be_i16 ( ) ) ,
368+ type_modifier : try !( buf. read_be_i32 ( ) ) ,
369+ format : try !( buf. read_be_i16 ( ) )
370370 } ) ;
371371 }
372372
0 commit comments