mirror of
https://github.com/chatmail/core.git
synced 2026-05-02 04:46:29 +03:00
refactor(mmime): rustify mailimf_data_time
This commit is contained in:
@@ -219,24 +219,24 @@ pub(crate) fn dc_str_to_color(s: impl AsRef<str>) -> u32 {
|
||||
/* the result is UTC or DC_INVALID_TIMESTAMP */
|
||||
pub(crate) fn dc_timestamp_from_date(date_time: *mut mailimf_date_time) -> i64 {
|
||||
assert!(!date_time.is_null());
|
||||
let dt = unsafe { *date_time };
|
||||
let dt = unsafe { &*date_time };
|
||||
|
||||
let sec = dt.dt_sec;
|
||||
let min = dt.dt_min;
|
||||
let hour = dt.dt_hour;
|
||||
let day = dt.dt_day;
|
||||
let month = dt.dt_month;
|
||||
let year = dt.dt_year;
|
||||
let sec = dt.sec;
|
||||
let min = dt.min;
|
||||
let hour = dt.hour;
|
||||
let day = dt.day;
|
||||
let month = dt.month;
|
||||
let year = dt.year;
|
||||
|
||||
let ts = chrono::NaiveDateTime::new(
|
||||
chrono::NaiveDate::from_ymd(year, month as u32, day as u32),
|
||||
chrono::NaiveTime::from_hms(hour as u32, min as u32, sec as u32),
|
||||
chrono::NaiveDate::from_ymd(year, month, day),
|
||||
chrono::NaiveTime::from_hms(hour, min, sec),
|
||||
);
|
||||
|
||||
let (zone_hour, zone_min) = if dt.dt_zone >= 0 {
|
||||
(dt.dt_zone / 100, dt.dt_zone % 100)
|
||||
let (zone_hour, zone_min) = if dt.zone >= 0 {
|
||||
(dt.zone / 100, dt.zone % 100)
|
||||
} else {
|
||||
(-(-dt.dt_zone / 100), -(-dt.dt_zone % 100))
|
||||
(-(-dt.zone / 100), -(-dt.zone % 100))
|
||||
};
|
||||
|
||||
ts.timestamp() - (zone_hour * 3600 + zone_min * 60) as i64
|
||||
|
||||
Reference in New Issue
Block a user