1
+ #![ allow( non_camel_case_types) ]
1
2
use std:: fmt;
2
3
use std:: convert:: From ;
3
4
use std:: mem:: size_of;
@@ -23,6 +24,19 @@ pub enum Arch32 {}
23
24
/// The 64-bit mach header
24
25
pub enum Arch64 { }
25
26
27
+ #[ cfg( windows) ]
28
+ type uid_t = libc:: uint32_t ;
29
+ #[ cfg( windows) ]
30
+ type gid_t = libc:: uint32_t ;
31
+ #[ cfg( windows) ]
32
+ type mode_t = libc:: uint32_t ;
33
+ #[ cfg( not( windows) ) ]
34
+ type uid_t = libc:: uid_t ;
35
+ #[ cfg( not( windows) ) ]
36
+ type gid_t = libc:: gid_t ;
37
+ #[ cfg( not( windows) ) ]
38
+ type mode_t = libc:: mode_t ;
39
+
26
40
impl MachArch for Arch32 {
27
41
fn parse_mach_header < T : BufRead , O : ByteOrder > ( buf : & mut T ) -> Result < MachHeader > {
28
42
let header = MachHeader {
@@ -566,11 +580,11 @@ pub struct ArHeader {
566
580
/// modification time
567
581
pub ar_date : libc:: time_t ,
568
582
/// user id
569
- pub ar_uid : libc :: uid_t ,
583
+ pub ar_uid : uid_t ,
570
584
/// group id
571
- pub ar_gid : libc :: gid_t ,
585
+ pub ar_gid : gid_t ,
572
586
/// octal file permissions
573
- pub ar_mode : libc :: mode_t ,
587
+ pub ar_mode : mode_t ,
574
588
/// size in bytes
575
589
pub ar_size : usize ,
576
590
/// consistency check
@@ -586,7 +600,7 @@ impl ArHeader {
586
600
ar_date : try!( try!( buf. read_fixed_size_string ( 12 ) ) . trim ( ) . parse ( ) ) ,
587
601
ar_uid : try!( try!( buf. read_fixed_size_string ( 6 ) ) . trim ( ) . parse ( ) ) ,
588
602
ar_gid : try!( try!( buf. read_fixed_size_string ( 6 ) ) . trim ( ) . parse ( ) ) ,
589
- ar_mode : try!( Self :: parse_octal ( try!( buf. read_fixed_size_string ( 8 ) ) . trim ( ) ) ) as libc :: mode_t ,
603
+ ar_mode : try!( Self :: parse_octal ( try!( buf. read_fixed_size_string ( 8 ) ) . trim ( ) ) ) as mode_t ,
590
604
ar_size : try!( try!( buf. read_fixed_size_string ( 10 ) ) . trim ( ) . parse ( ) ) ,
591
605
ar_fmag : try!( buf. read_u16 :: < NativeEndian > ( ) ) ,
592
606
ar_member_name : None ,
0 commit comments