mirror of
https://github.com/chatmail/core.git
synced 2026-04-22 16:06:30 +03:00
* refactor: safe sql access * Clean up the worst rebase mistakes * Some more progress on the rebase fallout and this branch * upgrade and compile again * cleanup from rebase * example of how to prepare now * rebase fixes * add sql.query_map * less preparation * more improvements in sql code * fix string truncation * more prepare conversions * most prep done * fix tests * fix ffi * fix last prepares * fix segfaults and some queries * use r2d2 pool * fix dc_job sql call, to reduce contention * try newer rust * No more vararg printing (drop dc_log_) * ignore expected errors * fix: uses exists instead of execute where needed * fix: get_contacts logic was broken * fix: contact creation * test on 32bit linux * ci: try running 32bit without cross * undo 32bit tests * refactor: rename dc_sqlite3 to sql * fix: safer string conversions * more string fixes * try fixing appveyor build to 64bit * chore(ci): hardcode target * chore(ci): appveyor * some cleanup work * try fix darwin * fix and improve sql escaping * fix various bugs * fix chat deletion * refactor: cleanup config values and move to their own file * refactor: move more methods onto the sql struct * dont panic on failed state loading * first round of cr * one more cr fix * stop using strange defaults * remove unused escapes
46 lines
1.1 KiB
Rust
46 lines
1.1 KiB
Rust
use crate::constants::*;
|
|
use crate::context::*;
|
|
use crate::dc_job::*;
|
|
use crate::dc_msg::*;
|
|
|
|
pub unsafe fn dc_do_heuristics_moves(context: &Context, folder: &str, msg_id: u32) {
|
|
if context
|
|
.sql
|
|
.get_config_int(context, "mvbox_move")
|
|
.unwrap_or_else(|| 1)
|
|
== 0
|
|
{
|
|
return;
|
|
}
|
|
|
|
if !dc_is_inbox(context, folder) && !dc_is_sentbox(context, folder) {
|
|
return;
|
|
}
|
|
|
|
let msg = dc_msg_new_load(context, msg_id);
|
|
if dc_msg_is_setupmessage(msg) {
|
|
// do not move setup messages;
|
|
// there may be a non-delta device that wants to handle it
|
|
dc_msg_unref(msg);
|
|
return;
|
|
}
|
|
|
|
if dc_is_mvbox(context, folder) {
|
|
dc_update_msg_move_state(context, (*msg).rfc724_mid, DC_MOVE_STATE_STAY);
|
|
}
|
|
|
|
// 1 = dc message, 2 = reply to dc message
|
|
if 0 != (*msg).is_dc_message {
|
|
dc_job_add(
|
|
context,
|
|
200,
|
|
(*msg).id as libc::c_int,
|
|
0 as *const libc::c_char,
|
|
0,
|
|
);
|
|
dc_update_msg_move_state(context, (*msg).rfc724_mid, DC_MOVE_STATE_MOVING);
|
|
}
|
|
|
|
dc_msg_unref(msg);
|
|
}
|