Skip to content

Commit 8f128d8

Browse files
authored
Auto merge of rust-lang#388 - asomers:openbsd2, r=alexcrichton
Factor common code out of the bitrig and openbsd modules The new directory structure better reflects the historical relationship of the BSDs, and includes 400 fewer duplicative lines of code.
2 parents b56add3 + b7b720b commit 8f128d8

File tree

7 files changed

+121
-538
lines changed

7 files changed

+121
-538
lines changed

src/unix/bsd/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -355,8 +355,8 @@ cfg_if! {
355355
pub use self::apple::*;
356356
} else if #[cfg(any(target_os = "openbsd", target_os = "netbsd",
357357
target_os = "bitrig"))] {
358-
mod openbsdlike;
359-
pub use self::openbsdlike::*;
358+
mod netbsdlike;
359+
pub use self::netbsdlike::*;
360360
} else if #[cfg(any(target_os = "freebsd", target_os = "dragonfly"))] {
361361
mod freebsdlike;
362362
pub use self::freebsdlike::*;

src/unix/bsd/openbsdlike/mod.rs renamed to src/unix/bsd/netbsdlike/mod.rs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -532,15 +532,12 @@ extern {
532532
}
533533

534534
cfg_if! {
535-
if #[cfg(target_os = "bitrig")] {
536-
mod bitrig;
537-
pub use self::bitrig::*;
538-
} else if #[cfg(target_os = "netbsd")] {
535+
if #[cfg(target_os = "netbsd")] {
539536
mod netbsd;
540537
pub use self::netbsd::*;
541-
} else if #[cfg(target_os = "openbsd")] {
542-
mod openbsd;
543-
pub use self::openbsd::*;
538+
} else if #[cfg(any(target_os = "openbsd", target_os = "bitrig"))] {
539+
mod openbsdlike;
540+
pub use self::openbsdlike::*;
544541
} else {
545542
// Unknown target_os
546543
}
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
s! {
2+
pub struct lconv {
3+
pub decimal_point: *mut ::c_char,
4+
pub thousands_sep: *mut ::c_char,
5+
pub grouping: *mut ::c_char,
6+
pub int_curr_symbol: *mut ::c_char,
7+
pub currency_symbol: *mut ::c_char,
8+
pub mon_decimal_point: *mut ::c_char,
9+
pub mon_thousands_sep: *mut ::c_char,
10+
pub mon_grouping: *mut ::c_char,
11+
pub positive_sign: *mut ::c_char,
12+
pub negative_sign: *mut ::c_char,
13+
pub int_frac_digits: ::c_char,
14+
pub frac_digits: ::c_char,
15+
pub p_cs_precedes: ::c_char,
16+
pub p_sep_by_space: ::c_char,
17+
pub n_cs_precedes: ::c_char,
18+
pub n_sep_by_space: ::c_char,
19+
pub p_sign_posn: ::c_char,
20+
pub n_sign_posn: ::c_char,
21+
pub int_p_cs_precedes: ::c_char,
22+
pub int_n_cs_precedes: ::c_char,
23+
pub int_p_sep_by_space: ::c_char,
24+
pub int_n_sep_by_space: ::c_char,
25+
pub int_p_sign_posn: ::c_char,
26+
pub int_n_sign_posn: ::c_char,
27+
}
28+
}
29+
30+
pub const LC_COLLATE_MASK: ::c_int = (1 << 0);
31+
pub const LC_CTYPE_MASK: ::c_int = (1 << 1);
32+
pub const LC_MESSAGES_MASK: ::c_int = (1 << 2);
33+
pub const LC_MONETARY_MASK: ::c_int = (1 << 3);
34+
pub const LC_NUMERIC_MASK: ::c_int = (1 << 4);
35+
pub const LC_TIME_MASK: ::c_int = (1 << 5);
36+
pub const LC_ALL_MASK: ::c_int = LC_COLLATE_MASK
37+
| LC_CTYPE_MASK
38+
| LC_MESSAGES_MASK
39+
| LC_MONETARY_MASK
40+
| LC_NUMERIC_MASK
41+
| LC_TIME_MASK;
42+
43+
pub const ERA: ::nl_item = 52;
44+
pub const ERA_D_FMT: ::nl_item = 53;
45+
pub const ERA_D_T_FMT: ::nl_item = 54;
46+
pub const ERA_T_FMT: ::nl_item = 55;
47+
pub const ALT_DIGITS: ::nl_item = 56;
48+
49+
pub const D_MD_ORDER: ::nl_item = 57;
50+
51+
pub const ALTMON_1: ::nl_item = 58;
52+
pub const ALTMON_2: ::nl_item = 59;
53+
pub const ALTMON_3: ::nl_item = 60;
54+
pub const ALTMON_4: ::nl_item = 61;
55+
pub const ALTMON_5: ::nl_item = 62;
56+
pub const ALTMON_6: ::nl_item = 63;
57+
pub const ALTMON_7: ::nl_item = 64;
58+
pub const ALTMON_8: ::nl_item = 65;
59+
pub const ALTMON_9: ::nl_item = 66;
60+
pub const ALTMON_10: ::nl_item = 67;
61+
pub const ALTMON_11: ::nl_item = 68;
62+
pub const ALTMON_12: ::nl_item = 69;
63+
64+
pub const KERN_RND: ::c_int = 31;
65+
66+
extern {
67+
pub fn nl_langinfo_l(item: ::nl_item, locale: ::locale_t) -> *mut ::c_char;
68+
pub fn duplocale(base: ::locale_t) -> ::locale_t;
69+
pub fn freelocale(loc: ::locale_t) -> ::c_int;
70+
pub fn newlocale(mask: ::c_int,
71+
locale: *const ::c_char,
72+
base: ::locale_t) -> ::locale_t;
73+
pub fn uselocale(loc: ::locale_t) -> ::locale_t;
74+
pub fn querylocale(mask: ::c_int, loc: ::locale_t) -> *const ::c_char;
75+
}

src/unix/bsd/openbsdlike/openbsd.rs renamed to src/unix/bsd/netbsdlike/openbsdlike/mod.rs

Lines changed: 12 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -118,33 +118,6 @@ s! {
118118
pub dli_saddr: *mut ::c_void,
119119
}
120120

121-
pub struct lconv {
122-
pub decimal_point: *mut ::c_char,
123-
pub thousands_sep: *mut ::c_char,
124-
pub grouping: *mut ::c_char,
125-
pub int_curr_symbol: *mut ::c_char,
126-
pub currency_symbol: *mut ::c_char,
127-
pub mon_decimal_point: *mut ::c_char,
128-
pub mon_thousands_sep: *mut ::c_char,
129-
pub mon_grouping: *mut ::c_char,
130-
pub positive_sign: *mut ::c_char,
131-
pub negative_sign: *mut ::c_char,
132-
pub int_frac_digits: ::c_char,
133-
pub frac_digits: ::c_char,
134-
pub p_cs_precedes: ::c_char,
135-
pub p_sep_by_space: ::c_char,
136-
pub n_cs_precedes: ::c_char,
137-
pub n_sep_by_space: ::c_char,
138-
pub p_sign_posn: ::c_char,
139-
pub n_sign_posn: ::c_char,
140-
pub int_p_cs_precedes: ::c_char,
141-
pub int_p_sep_by_space: ::c_char,
142-
pub int_n_cs_precedes: ::c_char,
143-
pub int_n_sep_by_space: ::c_char,
144-
pub int_p_sign_posn: ::c_char,
145-
pub int_n_sign_posn: ::c_char,
146-
}
147-
148121
pub struct lastlog {
149122
ll_time: ::time_t,
150123
ll_line: [::c_char; UT_LINESIZE],
@@ -457,3 +430,15 @@ extern {
457430
-> ::c_int;
458431
pub fn getentropy(buf: *mut ::c_void, buflen: ::size_t) -> ::c_int;
459432
}
433+
434+
cfg_if! {
435+
if #[cfg(target_os = "openbsd")] {
436+
mod openbsd;
437+
pub use self::openbsd::*;
438+
} else if #[cfg(target_os = "bitrig")] {
439+
mod bitrig;
440+
pub use self::bitrig::*;
441+
} else {
442+
// Unknown target_os
443+
}
444+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
s! {
2+
pub struct lconv {
3+
pub decimal_point: *mut ::c_char,
4+
pub thousands_sep: *mut ::c_char,
5+
pub grouping: *mut ::c_char,
6+
pub int_curr_symbol: *mut ::c_char,
7+
pub currency_symbol: *mut ::c_char,
8+
pub mon_decimal_point: *mut ::c_char,
9+
pub mon_thousands_sep: *mut ::c_char,
10+
pub mon_grouping: *mut ::c_char,
11+
pub positive_sign: *mut ::c_char,
12+
pub negative_sign: *mut ::c_char,
13+
pub int_frac_digits: ::c_char,
14+
pub frac_digits: ::c_char,
15+
pub p_cs_precedes: ::c_char,
16+
pub p_sep_by_space: ::c_char,
17+
pub n_cs_precedes: ::c_char,
18+
pub n_sep_by_space: ::c_char,
19+
pub p_sign_posn: ::c_char,
20+
pub n_sign_posn: ::c_char,
21+
pub int_p_cs_precedes: ::c_char,
22+
pub int_p_sep_by_space: ::c_char,
23+
pub int_n_cs_precedes: ::c_char,
24+
pub int_n_sep_by_space: ::c_char,
25+
pub int_p_sign_posn: ::c_char,
26+
pub int_n_sign_posn: ::c_char,
27+
}
28+
}

0 commit comments

Comments
 (0)