change tzname to be mut

This commit is contained in:
Ron Williams
2023-05-06 13:20:30 -07:00
parent c3f3da6958
commit 95e9162d22
2 changed files with 12 additions and 4 deletions
+11 -3
View File
@@ -68,14 +68,22 @@ static mut ASCTIME: [c_char; 26] = [0; 26];
// TODO: timezones
#[repr(transparent)]
pub struct TzName {
tz: [*const c_char; 2],
tz: [*mut c_char; 2],
}
unsafe impl Sync for TzName {}
static mut TZ_STD: [c_char; 8] = [b'U' as c_char, b'T' as c_char, b'C' as c_char, 0, 0, 0, 0, 0];
static mut TZ_DST: [c_char; 8] = [b'U' as c_char, b'T' as c_char, b'C' as c_char, 0, 0, 0, 0, 0];
#[allow(non_upper_case_globals)]
#[no_mangle]
pub static mut tzname: TzName = TzName { tz: [UTC, UTC] };
pub static mut tzname: TzName = TzName {
tz: [
unsafe { TZ_DST.as_mut_ptr() },
unsafe { TZ_DST.as_mut_ptr() },
] };
#[allow(non_upper_case_globals)]
#[no_mangle]
pub static mut daylight: c_int = 0;
@@ -487,7 +495,7 @@ pub extern "C" fn timer_delete(timerid: timer_t) -> c_int {
#[no_mangle]
pub extern "C" fn tzset() {
// no-op because we only do GMT
// no-op because we only do UTC
// TODO: timezones, parse env var TZ
}
+1 -1
View File
@@ -5,7 +5,7 @@
extern int daylight;
extern long timezone;
extern const char *tzname[2];
extern char *tzname[2];
void tzset(void);
int main(void) {