Skip to content

Commit d17d6e7

Browse files
committed
Auto merge of rust-lang#23967 - semarie:libc-clone, r=alexcrichton
affected struct: - sockaddr_storage - sockaddr_un apply the same method used for linux for: - bitrig/openbsd - freebsd - dragonfly this commit unbreak build for openbsd (and bitrig, freebsd and dragonfly too I think) r? @alexcrichton
2 parents d1835ae + 26453bb commit d17d6e7

File tree

1 file changed

+27
-9
lines changed

1 file changed

+27
-9
lines changed

Diff for: src/liblibc/lib.rs

+27-9
Original file line numberDiff line numberDiff line change
@@ -863,13 +863,16 @@ pub mod types {
863863
pub sa_data: [u8; 14],
864864
}
865865
#[repr(C)]
866-
#[derive(Copy, Clone)] pub struct sockaddr_storage {
866+
#[derive(Copy)] pub struct sockaddr_storage {
867867
pub ss_len: u8,
868868
pub ss_family: sa_family_t,
869869
pub __ss_pad1: [u8; 6],
870870
pub __ss_align: i64,
871871
pub __ss_pad2: [u8; 112],
872872
}
873+
impl ::core::clone::Clone for sockaddr_storage {
874+
fn clone(&self) -> sockaddr_storage { *self }
875+
}
873876
#[repr(C)]
874877
#[derive(Copy, Clone)] pub struct sockaddr_in {
875878
pub sin_len: u8,
@@ -917,11 +920,14 @@ pub mod types {
917920
pub ai_next: *mut addrinfo,
918921
}
919922
#[repr(C)]
920-
#[derive(Copy, Clone)] pub struct sockaddr_un {
923+
#[derive(Copy)] pub struct sockaddr_un {
921924
pub sun_len: u8,
922925
pub sun_family: sa_family_t,
923926
pub sun_path: [c_char; 104]
924927
}
928+
impl ::core::clone::Clone for sockaddr_un {
929+
fn clone(&self) -> sockaddr_un { *self }
930+
}
925931
#[repr(C)]
926932
#[derive(Copy, Clone)] pub struct ifaddrs {
927933
pub ifa_next: *mut ifaddrs,
@@ -1125,13 +1131,16 @@ pub mod types {
11251131
pub sa_data: [u8; 14],
11261132
}
11271133
#[repr(C)]
1128-
#[derive(Copy, Clone)] pub struct sockaddr_storage {
1134+
#[derive(Copy)] pub struct sockaddr_storage {
11291135
pub ss_len: u8,
11301136
pub ss_family: sa_family_t,
11311137
pub __ss_pad1: [u8; 6],
11321138
pub __ss_align: i64,
11331139
pub __ss_pad2: [u8; 112],
11341140
}
1141+
impl ::core::clone::Clone for sockaddr_storage {
1142+
fn clone(&self) -> sockaddr_storage { *self }
1143+
}
11351144
#[repr(C)]
11361145
#[derive(Copy, Clone)] pub struct sockaddr_in {
11371146
pub sin_len: u8,
@@ -1179,11 +1188,14 @@ pub mod types {
11791188
pub ai_next: *mut addrinfo,
11801189
}
11811190
#[repr(C)]
1182-
#[derive(Copy, Clone)] pub struct sockaddr_un {
1191+
#[derive(Copy)] pub struct sockaddr_un {
11831192
pub sun_len: u8,
11841193
pub sun_family: sa_family_t,
11851194
pub sun_path: [c_char; 104]
11861195
}
1196+
impl ::core::clone::Clone for sockaddr_un {
1197+
fn clone(&self) -> sockaddr_un { *self }
1198+
}
11871199
#[repr(C)]
11881200
#[derive(Copy, Clone)] pub struct ifaddrs {
11891201
pub ifa_next: *mut ifaddrs,
@@ -1405,13 +1417,16 @@ pub mod types {
14051417
pub sa_data: [u8; 14],
14061418
}
14071419
#[repr(C)]
1408-
#[derive(Copy, Clone)] pub struct sockaddr_storage {
1420+
#[derive(Copy)] pub struct sockaddr_storage {
14091421
pub ss_len: u8,
14101422
pub ss_family: sa_family_t,
14111423
pub __ss_pad1: [u8; 6],
14121424
pub __ss_pad2: i64,
14131425
pub __ss_pad3: [u8; 240],
14141426
}
1427+
impl ::core::clone::Clone for sockaddr_storage {
1428+
fn clone(&self) -> sockaddr_storage { *self }
1429+
}
14151430
#[repr(C)]
14161431
#[derive(Copy, Clone)] pub struct sockaddr_in {
14171432
pub sin_len: u8,
@@ -1459,11 +1474,14 @@ pub mod types {
14591474
pub ai_next: *mut addrinfo,
14601475
}
14611476
#[repr(C)]
1462-
#[derive(Copy, Clone)] pub struct sockaddr_un {
1477+
#[derive(Copy)] pub struct sockaddr_un {
14631478
pub sun_len: u8,
14641479
pub sun_family: sa_family_t,
14651480
pub sun_path: [c_char; 104]
14661481
}
1482+
impl ::core::clone::Clone for sockaddr_un {
1483+
fn clone(&self) -> sockaddr_un { *self }
1484+
}
14671485
#[repr(C)]
14681486
#[derive(Copy, Clone)] pub struct ifaddrs {
14691487
pub ifa_next: *mut ifaddrs,
@@ -3116,7 +3134,7 @@ pub mod consts {
31163134
pub const MAP_FIXED : c_int = 0x0010;
31173135
pub const MAP_ANON : c_int = 0x0800;
31183136

3119-
pub const MAP_FAILED : *mut c_void = -1 as *mut c_void;
3137+
pub const MAP_FAILED : *mut c_void = !0 as *mut c_void;
31203138

31213139
pub const MCL_CURRENT : c_int = 0x0001;
31223140
pub const MCL_FUTURE : c_int = 0x0002;
@@ -3852,7 +3870,7 @@ pub mod consts {
38523870
pub const MAP_FIXED : c_int = 0x0010;
38533871
pub const MAP_ANON : c_int = 0x1000;
38543872

3855-
pub const MAP_FAILED : *mut c_void = -1 as *mut c_void;
3873+
pub const MAP_FAILED : *mut c_void = !0 as *mut c_void;
38563874

38573875
pub const MCL_CURRENT : c_int = 0x0001;
38583876
pub const MCL_FUTURE : c_int = 0x0002;
@@ -4306,7 +4324,7 @@ pub mod consts {
43064324
pub const MAP_FIXED : c_int = 0x0010;
43074325
pub const MAP_ANON : c_int = 0x1000;
43084326

4309-
pub const MAP_FAILED : *mut c_void = -1 as *mut c_void;
4327+
pub const MAP_FAILED : *mut c_void = !0 as *mut c_void;
43104328

43114329
pub const MCL_CURRENT : c_int = 0x0001;
43124330
pub const MCL_FUTURE : c_int = 0x0002;

0 commit comments

Comments
 (0)