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" => { 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), 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