about summary refs log tree commit diff
path: root/library/std/src/sys/unix/time.rs
diff options
context:
space:
mode:
authorMara Bos <m-ou.se@m-ou.se>2022-04-01 11:11:58 +0200
committerMara Bos <m-ou.se@m-ou.se>2022-04-01 11:11:58 +0200
commit4b1b305ccb7a981d6b6246b8dbcfdb36b83a00c6 (patch)
tree37d5bf157158d4dedeb99b448a7e18bc38398005 /library/std/src/sys/unix/time.rs
parent321690c8278a5cf038adc50d1642c8e158de38a7 (diff)
downloadrust-4b1b305ccb7a981d6b6246b8dbcfdb36b83a00c6.tar.gz
rust-4b1b305ccb7a981d6b6246b8dbcfdb36b83a00c6.zip
Use MaybeUninit for clock_gettime's timespec.
Diffstat (limited to 'library/std/src/sys/unix/time.rs')
-rw-r--r--library/std/src/sys/unix/time.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/library/std/src/sys/unix/time.rs b/library/std/src/sys/unix/time.rs
index 8741e568c67..498c94d0cdc 100644
--- a/library/std/src/sys/unix/time.rs
+++ b/library/std/src/sys/unix/time.rs
@@ -266,6 +266,7 @@ mod inner {
 #[cfg(not(any(target_os = "macos", target_os = "ios")))]
 mod inner {
     use crate::fmt;
+    use crate::mem::MaybeUninit;
     use crate::sys::cvt;
     use crate::time::Duration;
 
@@ -350,9 +351,9 @@ mod inner {
 
     impl Timespec {
         pub fn now(clock: clock_t) -> Timespec {
-            let mut t = Timespec { t: libc::timespec { tv_sec: 0, tv_nsec: 0 } };
-            cvt(unsafe { libc::clock_gettime(clock, &mut t.t) }).unwrap();
-            t
+            let mut t = MaybeUninit::uninit();
+            cvt(unsafe { libc::clock_gettime(clock, t.as_mut_ptr()) }).unwrap();
+            Timespec { t: unsafe { t.assume_init() } }
         }
     }
 }