@@ -172,16 +172,16 @@ pub(crate) fn parse_mount_point<'a>(row: &'a [u8])
172172 return Ok ( None ) ;
173173 }
174174
175- let ( mount_id, row) = try! ( parse_int ( row) ) ;
176- let ( parent_id, row) = try! ( parse_int ( row) ) ;
177- let ( major, minor, row) = try! ( parse_major_minor ( row) ) ;
178- let ( root, row) = try! ( parse_os_str ( row) ) ;
179- let ( mount_point, row) = try! ( parse_os_str ( row) ) ;
180- let ( mount_options, row) = try! ( parse_os_str ( row) ) ;
181- let ( optional_fields, row) = try! ( parse_optional ( row) ) ;
182- let ( fstype, row) = try! ( parse_os_str ( row) ) ;
183- let ( mount_source, row) = try! ( parse_os_str ( row) ) ;
184- let ( super_options, _) = try! ( parse_os_str ( row) ) ;
175+ let ( mount_id, row) = parse_int ( row) ? ;
176+ let ( parent_id, row) = parse_int ( row) ? ;
177+ let ( major, minor, row) = parse_major_minor ( row) ? ;
178+ let ( root, row) = parse_os_str ( row) ? ;
179+ let ( mount_point, row) = parse_os_str ( row) ? ;
180+ let ( mount_options, row) = parse_os_str ( row) ? ;
181+ let ( optional_fields, row) = parse_optional ( row) ? ;
182+ let ( fstype, row) = parse_os_str ( row) ? ;
183+ let ( mount_source, row) = parse_os_str ( row) ? ;
184+ let ( super_options, _) = parse_os_str ( row) ? ;
185185 // TODO: should we ignore extra fields?
186186 Ok ( Some ( MountPoint {
187187 mount_id : mount_id,
@@ -235,38 +235,38 @@ fn parse_field<'a>(data: &'a [u8], delimit: &'a [u8])
235235fn parse_os_str < ' a > ( data : & ' a [ u8 ] )
236236 -> Result < ( Cow < ' a , OsStr > , & ' a [ u8 ] ) , ParseRowError >
237237{
238- let ( field, tail) = try! ( parse_field ( data, b" " ) ) ;
238+ let ( field, tail) = parse_field ( data, b" " ) ? ;
239239 Ok ( ( unescape_octals ( OsStr :: from_bytes ( field) ) , tail) )
240240}
241241
242242fn parse_int ( data : & [ u8 ] )
243243 -> Result < ( c_ulong , & [ u8 ] ) , ParseRowError >
244244{
245- let ( field, tail) = try! ( parse_field ( data, b" " ) ) ;
246- let v = try! ( std:: str:: from_utf8 ( field) . map_err ( |e| {
245+ let ( field, tail) = parse_field ( data, b" " ) ? ;
246+ let v = std:: str:: from_utf8 ( field) . map_err ( |e| {
247247 ParseRowError ( format ! ( "Cannot parse integer {:?}: {}" ,
248- String :: from_utf8_lossy( field) . into_owned( ) , e) ) } ) ) ;
248+ String :: from_utf8_lossy( field) . into_owned( ) , e) ) } ) ? ;
249249
250- let v = try! ( c_ulong:: from_str_radix ( v, 10 ) . map_err ( |e| {
250+ let v = c_ulong:: from_str_radix ( v, 10 ) . map_err ( |e| {
251251 ParseRowError ( format ! ( "Cannot parse integer {:?}: {}" ,
252- String :: from_utf8_lossy( field) . into_owned( ) , e) ) } ) ) ;
252+ String :: from_utf8_lossy( field) . into_owned( ) , e) ) } ) ? ;
253253 Ok ( ( v, tail) )
254254}
255255
256256fn parse_major_minor ( data : & [ u8 ] )
257257 -> Result < ( c_ulong , c_ulong , & [ u8 ] ) , ParseRowError >
258258{
259- let ( major_field, data) = try! ( parse_field ( data, b":" ) ) ;
260- let ( minor_field, tail) = try! ( parse_field ( data, b" " ) ) ;
261- let ( major, _) = try! ( parse_int ( major_field) ) ;
262- let ( minor, _) = try! ( parse_int ( minor_field) ) ;
259+ let ( major_field, data) = parse_field ( data, b":" ) ? ;
260+ let ( minor_field, tail) = parse_field ( data, b" " ) ? ;
261+ let ( major, _) = parse_int ( major_field) ? ;
262+ let ( minor, _) = parse_int ( minor_field) ? ;
263263 Ok ( ( major, minor, tail) )
264264}
265265
266266fn parse_optional < ' a > ( data : & ' a [ u8 ] )
267267 -> Result < ( Cow < ' a , OsStr > , & ' a [ u8 ] ) , ParseRowError >
268268{
269- let ( field, tail) = try! ( parse_field ( data, b"- " ) ) ;
269+ let ( field, tail) = parse_field ( data, b"- " ) ? ;
270270 let field = rstrip_whitespaces ( field) ;
271271 Ok ( ( unescape_octals ( OsStr :: from_bytes ( field) ) , tail) )
272272}
0 commit comments