fix(message): avoid nested sql statement in dc_get_msg_info

Closes #410
This commit is contained in:
dignifiedquire
2019-08-27 14:26:13 +02:00
parent 2f6438f75a
commit a1a85270e6

View File

@@ -208,9 +208,7 @@ pub unsafe fn dc_get_msg_info(context: &Context, msg_id: u32) -> *mut libc::c_ch
return ret.strdup(); return ret.strdup();
} }
context if let Ok(rows) = context.sql.query_map(
.sql
.query_map(
"SELECT contact_id, timestamp_sent FROM msgs_mdns WHERE msg_id=?;", "SELECT contact_id, timestamp_sent FROM msgs_mdns WHERE msg_id=?;",
params![msg_id as i32], params![msg_id as i32],
|row| { |row| {
@@ -218,9 +216,9 @@ pub unsafe fn dc_get_msg_info(context: &Context, msg_id: u32) -> *mut libc::c_ch
let ts: i64 = row.get(1)?; let ts: i64 = row.get(1)?;
Ok((contact_id, ts)) Ok((contact_id, ts))
}, },
|rows| { |rows| rows.collect::<Result<Vec<_>, _>>().map_err(Into::into),
for row in rows { ) {
let (contact_id, ts) = row?; for (contact_id, ts) in rows {
let fts = dc_timestamp_to_str(ts); let fts = dc_timestamp_to_str(ts);
ret += &format!("Read: {}", fts); ret += &format!("Read: {}", fts);
@@ -231,10 +229,7 @@ pub unsafe fn dc_get_msg_info(context: &Context, msg_id: u32) -> *mut libc::c_ch
ret += &format!(" by {}", name); ret += &format!(" by {}", name);
ret += "\n"; ret += "\n";
} }
Ok(()) }
},
)
.unwrap(); // TODO: better error handling
ret += "State: "; ret += "State: ";
use MessageState::*; use MessageState::*;