From 9605370f0bb0dbce472a2e91bb744bc1f713e78c Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Sat, 7 Sep 2019 12:34:31 +0200 Subject: [PATCH 1/3] fix cmdline: sendimage and sendfile really accept only a file --- examples/repl/cmdline.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/examples/repl/cmdline.rs b/examples/repl/cmdline.rs index 96889fe45..f8e42a0e7 100644 --- a/examples/repl/cmdline.rs +++ b/examples/repl/cmdline.rs @@ -428,7 +428,7 @@ pub unsafe fn dc_cmdline(context: &Context, line: &str) -> Result<(), failure::E send \n\ send-garbage\n\ sendimage []\n\ - sendfile \n\ + sendfile []\n\ draft []\n\ listmedia\n\ archive \n\ @@ -862,7 +862,7 @@ pub unsafe fn dc_cmdline(context: &Context, line: &str) -> Result<(), failure::E } "sendimage" | "sendfile" => { ensure!(sel_chat.is_some(), "No chat selected."); - ensure!(!arg1.is_empty() && !arg2.is_empty(), "No file given."); + ensure!(!arg1.is_empty(), "No file given."); let mut msg = dc_msg_new( context, @@ -873,7 +873,9 @@ pub unsafe fn dc_cmdline(context: &Context, line: &str) -> Result<(), failure::E }, ); dc_msg_set_file(&mut msg, arg1_c, ptr::null()); - dc_msg_set_text(&mut msg, arg2_c); + if !arg2.is_empty() { + dc_msg_set_text(&mut msg, arg2_c); + } chat::send_msg(context, sel_chat.as_ref().unwrap().get_id(), &mut msg)?; } "listmsgs" => { From d9d0dee0d56e9b879c784da3e6fcf13ad2f9ccee Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Sat, 7 Sep 2019 13:40:50 +0200 Subject: [PATCH 2/3] fix: use empty string for messages without text everywhere --- src/chat.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chat.rs b/src/chat.rs index 908b879fc..05e110df1 100644 --- a/src/chat.rs +++ b/src/chat.rs @@ -502,7 +502,7 @@ impl<'a> Chat<'a> { timestamp, msg.type_0, msg.state, - msg.text, + msg.text.as_ref().map_or("", String::as_str), msg.param.to_string(), msg.hidden, to_string(new_in_reply_to), From 7f4ef493b9a97be957124cba5b4218acbd2ad582 Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Sat, 7 Sep 2019 13:54:43 +0200 Subject: [PATCH 3/3] be tolerant when reading unexpected NULL from the database and treat this as an empty string, compatible to core-c --- src/message.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/message.rs b/src/message.rs index 89ecd00b3..e1aa8b440 100644 --- a/src/message.rs +++ b/src/message.rs @@ -478,8 +478,7 @@ pub fn dc_msg_load_from_db<'a>(context: &'a Context, id: u32) -> Result