all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] [PATCH proxmox] tools/time: give tm struct as mut reference
@ 2020-09-03 11:37 Dominik Csapak
  2020-09-04  4:40 ` [pbs-devel] applied: " Dietmar Maurer
  0 siblings, 1 reply; 2+ messages in thread
From: Dominik Csapak @ 2020-09-03 11:37 UTC (permalink / raw)
  To: pbs-devel

mktime/timegm can modify the timestruct (to normalize the time, e.g.
convert the january 40 to february 9)

to use that feature, we have to give a mutable reference, else the
struct will be copied and the original left untouched

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
this is necessary for my upcoming series for calendarevents
 proxmox/src/tools/time.rs | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/proxmox/src/tools/time.rs b/proxmox/src/tools/time.rs
index 033e778..50cce01 100644
--- a/proxmox/src/tools/time.rs
+++ b/proxmox/src/tools/time.rs
@@ -3,10 +3,11 @@ use anyhow::{bail, Error};
 /// Safe bindings to libc timelocal
 ///
 /// We set tm_isdst to -1.
-pub fn timelocal(mut t: libc::tm) -> Result<i64, Error> {
+/// This also normalizes the parameter
+pub fn timelocal(t: &mut libc::tm) -> Result<i64, Error> {
     t.tm_isdst = -1;
 
-    let epoch = unsafe { libc::mktime(&mut t) };
+    let epoch = unsafe { libc::mktime(t) };
     if epoch == -1 {
         bail!("libc::mktime failed for {:?}", t);
     }
@@ -16,10 +17,11 @@ pub fn timelocal(mut t: libc::tm) -> Result<i64, Error> {
 /// Safe bindings to libc timegm
 ///
 /// We set tm_isdst to 0.
-pub fn timegm(mut t: libc::tm) -> Result<i64, Error> {
+/// This also normalizes the parameter
+pub fn timegm(t: &mut libc::tm) -> Result<i64, Error> {
     t.tm_isdst = 0;
 
-    let epoch = unsafe { libc::timegm(&mut t) };
+    let epoch = unsafe { libc::timegm(t) };
     if epoch == -1 {
         bail!("libc::timegm failed for {:?}", t);
     }
-- 
2.20.1





^ permalink raw reply	[flat|nested] 2+ messages in thread

* [pbs-devel] applied: [PATCH proxmox] tools/time: give tm struct as mut reference
  2020-09-03 11:37 [pbs-devel] [PATCH proxmox] tools/time: give tm struct as mut reference Dominik Csapak
@ 2020-09-04  4:40 ` Dietmar Maurer
  0 siblings, 0 replies; 2+ messages in thread
From: Dietmar Maurer @ 2020-09-04  4:40 UTC (permalink / raw)
  To: Proxmox Backup Server development discussion, Dominik Csapak

applied




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-09-04  4:41 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-03 11:37 [pbs-devel] [PATCH proxmox] tools/time: give tm struct as mut reference Dominik Csapak
2020-09-04  4:40 ` [pbs-devel] applied: " Dietmar Maurer

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal