mirror of
https://github.com/chatmail/core.git
synced 2026-05-03 13:26:28 +03:00
Set type of dc_msg_t.server_folder to Option<String>
This commit is contained in:
committed by
holger krekel
parent
b2a2791f6f
commit
cdf3809634
@@ -447,7 +447,7 @@ unsafe fn dc_job_do_DC_JOB_MOVE_MSG(context: &Context, job: &mut dc_job_t) {
|
|||||||
let dest_folder = context.sql.get_config(context, "configured_mvbox_folder");
|
let dest_folder = context.sql.get_config(context, "configured_mvbox_folder");
|
||||||
|
|
||||||
if let Some(dest_folder) = dest_folder {
|
if let Some(dest_folder) = dest_folder {
|
||||||
let server_folder = as_str((*msg).server_folder);
|
let server_folder = (*msg).server_folder.as_ref().unwrap();
|
||||||
|
|
||||||
match inbox.mv(
|
match inbox.mv(
|
||||||
context,
|
context,
|
||||||
@@ -582,7 +582,7 @@ unsafe fn dc_job_do_DC_JOB_MARKSEEN_MSG_ON_IMAP(context: &Context, job: &mut dc_
|
|||||||
match current_block {
|
match current_block {
|
||||||
15240798224410183470 => {
|
15240798224410183470 => {
|
||||||
if dc_msg_load_from_db(msg, context, job.foreign_id) {
|
if dc_msg_load_from_db(msg, context, job.foreign_id) {
|
||||||
let server_folder = CStr::from_ptr((*msg).server_folder).to_str().unwrap();
|
let server_folder = (*msg).server_folder.as_ref().unwrap();
|
||||||
match inbox.set_seen(context, server_folder, (*msg).server_uid) as libc::c_uint {
|
match inbox.set_seen(context, server_folder, (*msg).server_uid) as libc::c_uint {
|
||||||
0 => {}
|
0 => {}
|
||||||
1 => {
|
1 => {
|
||||||
@@ -598,8 +598,7 @@ unsafe fn dc_job_do_DC_JOB_MARKSEEN_MSG_ON_IMAP(context: &Context, job: &mut dc_
|
|||||||
.get_config_int(context, "mdns_enabled")
|
.get_config_int(context, "mdns_enabled")
|
||||||
.unwrap_or_else(|| 1)
|
.unwrap_or_else(|| 1)
|
||||||
{
|
{
|
||||||
let folder =
|
let folder = (*msg).server_folder.as_ref().unwrap();
|
||||||
CStr::from_ptr((*msg).server_folder).to_str().unwrap();
|
|
||||||
match inbox.set_mdnsent(context, folder, (*msg).server_uid)
|
match inbox.set_mdnsent(context, folder, (*msg).server_uid)
|
||||||
as libc::c_uint
|
as libc::c_uint
|
||||||
{
|
{
|
||||||
@@ -652,8 +651,7 @@ unsafe fn dc_job_do_DC_JOB_MARKSEEN_MSG_ON_IMAP(context: &Context, job: &mut dc_
|
|||||||
.get_config_int(context, "mdns_enabled")
|
.get_config_int(context, "mdns_enabled")
|
||||||
.unwrap_or_else(|| 1)
|
.unwrap_or_else(|| 1)
|
||||||
{
|
{
|
||||||
let folder =
|
let folder = (*msg).server_folder.as_ref().unwrap();
|
||||||
CStr::from_ptr((*msg).server_folder).to_str().unwrap();
|
|
||||||
|
|
||||||
match inbox.set_mdnsent(context, folder, (*msg).server_uid)
|
match inbox.set_mdnsent(context, folder, (*msg).server_uid)
|
||||||
as libc::c_uint
|
as libc::c_uint
|
||||||
@@ -898,7 +896,7 @@ unsafe fn dc_job_do_DC_JOB_DELETE_MSG_ON_IMAP(context: &Context, job: &mut dc_jo
|
|||||||
8913536887710889399 => {}
|
8913536887710889399 => {}
|
||||||
_ => {
|
_ => {
|
||||||
let mid = CStr::from_ptr((*msg).rfc724_mid).to_str().unwrap();
|
let mid = CStr::from_ptr((*msg).rfc724_mid).to_str().unwrap();
|
||||||
let server_folder = CStr::from_ptr((*msg).server_folder).to_str().unwrap();
|
let server_folder = (*msg).server_folder.as_ref().unwrap();
|
||||||
if 0 == inbox.delete_msg(context, mid, server_folder, &mut (*msg).server_uid) {
|
if 0 == inbox.delete_msg(context, mid, server_folder, &mut (*msg).server_uid) {
|
||||||
dc_job_try_again_later(job, -1i32, 0 as *const libc::c_char);
|
dc_job_try_again_later(job, -1i32, 0 as *const libc::c_char);
|
||||||
current_block = 8913536887710889399;
|
current_block = 8913536887710889399;
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ pub struct dc_msg_t<'a> {
|
|||||||
pub context: &'a Context,
|
pub context: &'a Context,
|
||||||
pub rfc724_mid: *mut libc::c_char,
|
pub rfc724_mid: *mut libc::c_char,
|
||||||
pub in_reply_to: *mut libc::c_char,
|
pub in_reply_to: *mut libc::c_char,
|
||||||
pub server_folder: *mut libc::c_char,
|
pub server_folder: Option<String>,
|
||||||
pub server_uid: uint32_t,
|
pub server_uid: uint32_t,
|
||||||
pub is_dc_message: libc::c_int,
|
pub is_dc_message: libc::c_int,
|
||||||
pub starred: libc::c_int,
|
pub starred: libc::c_int,
|
||||||
@@ -196,12 +196,14 @@ pub unsafe fn dc_get_msg_info(context: &Context, msg_id: u32) -> *mut libc::c_ch
|
|||||||
if !(*msg).rfc724_mid.is_null() && 0 != *(*msg).rfc724_mid.offset(0) as libc::c_int {
|
if !(*msg).rfc724_mid.is_null() && 0 != *(*msg).rfc724_mid.offset(0) as libc::c_int {
|
||||||
ret += &format!("\nMessage-ID: {}", (*msg).rfc724_mid as libc::c_int);
|
ret += &format!("\nMessage-ID: {}", (*msg).rfc724_mid as libc::c_int);
|
||||||
}
|
}
|
||||||
if !(*msg).server_folder.is_null() && 0 != *(*msg).server_folder.offset(0) as libc::c_int {
|
if let Some(ref server_folder) = (*msg).server_folder {
|
||||||
ret += &format!(
|
if server_folder != "" {
|
||||||
"\nLast seen as: {}/{}",
|
ret += &format!(
|
||||||
to_string((*msg).server_folder),
|
"\nLast seen as: {}/{}",
|
||||||
(*msg).server_uid as libc::c_int,
|
server_folder,
|
||||||
);
|
(*msg).server_uid as libc::c_int,
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dc_msg_unref(msg);
|
dc_msg_unref(msg);
|
||||||
@@ -240,7 +242,7 @@ pub unsafe fn dc_msg_new<'a>(context: &'a Context, viewtype: Viewtype) -> *mut d
|
|||||||
context,
|
context,
|
||||||
rfc724_mid: std::ptr::null_mut(),
|
rfc724_mid: std::ptr::null_mut(),
|
||||||
in_reply_to: std::ptr::null_mut(),
|
in_reply_to: std::ptr::null_mut(),
|
||||||
server_folder: std::ptr::null_mut(),
|
server_folder: None,
|
||||||
server_uid: 0,
|
server_uid: 0,
|
||||||
is_dc_message: 0,
|
is_dc_message: 0,
|
||||||
starred: 0,
|
starred: 0,
|
||||||
@@ -269,8 +271,6 @@ pub unsafe fn dc_msg_empty(mut msg: *mut dc_msg_t) {
|
|||||||
(*msg).rfc724_mid = 0 as *mut libc::c_char;
|
(*msg).rfc724_mid = 0 as *mut libc::c_char;
|
||||||
free((*msg).in_reply_to as *mut libc::c_void);
|
free((*msg).in_reply_to as *mut libc::c_void);
|
||||||
(*msg).in_reply_to = 0 as *mut libc::c_char;
|
(*msg).in_reply_to = 0 as *mut libc::c_char;
|
||||||
free((*msg).server_folder as *mut libc::c_void);
|
|
||||||
(*msg).server_folder = 0 as *mut libc::c_char;
|
|
||||||
(*msg).param = Params::new();
|
(*msg).param = Params::new();
|
||||||
(*msg).hidden = 0i32;
|
(*msg).hidden = 0i32;
|
||||||
}
|
}
|
||||||
@@ -460,7 +460,7 @@ pub fn dc_msg_load_from_db<'a>(msg: *mut dc_msg_t<'a>, context: &'a Context, id:
|
|||||||
Some(s) => s.strdup(),
|
Some(s) => s.strdup(),
|
||||||
None => std::ptr::null_mut(),
|
None => std::ptr::null_mut(),
|
||||||
};
|
};
|
||||||
(*msg).server_folder = row.get::<_, String>(3)?.strdup();
|
(*msg).server_folder = row.get::<_, Option<String>>(3)?;
|
||||||
(*msg).server_uid = row.get(4)?;
|
(*msg).server_uid = row.get(4)?;
|
||||||
(*msg).move_state = row.get(5)?;
|
(*msg).move_state = row.get(5)?;
|
||||||
(*msg).chat_id = row.get(6)?;
|
(*msg).chat_id = row.get(6)?;
|
||||||
|
|||||||
Reference in New Issue
Block a user