From 2af1936ef8fa764297f2e3163dc318fc8c863ba2 Mon Sep 17 00:00:00 2001 From: Perma Alesheikh Date: Tue, 9 Jan 2024 14:18:09 +0330 Subject: [PATCH] use map_while to count for always err case. Reasons: - Filter_map will run forever if iterator only returns Err with lines. This is a possibility for "lines" iterators. - Map_while will break the mapping the moment the iterator returns error. Signed-off-by: Perma Alesheikh --- src/email/message/command/save.rs | 2 +- src/email/message/command/send.rs | 2 +- src/email/message/template/command/save.rs | 2 +- src/email/message/template/command/send.rs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/email/message/command/save.rs b/src/email/message/command/save.rs index d7e62f4..bc1b9c2 100644 --- a/src/email/message/command/save.rs +++ b/src/email/message/command/save.rs @@ -88,7 +88,7 @@ impl MessageSaveCommand { io::stdin() .lock() .lines() - .filter_map(Result::ok) + .map_while(Result::ok) .collect::>() .join("\r\n") }; diff --git a/src/email/message/command/send.rs b/src/email/message/command/send.rs index cc212e9..d8c265b 100644 --- a/src/email/message/command/send.rs +++ b/src/email/message/command/send.rs @@ -110,7 +110,7 @@ impl MessageSendCommand { io::stdin() .lock() .lines() - .filter_map(Result::ok) + .map_while(Result::ok) .collect::>() .join("\r\n") }; diff --git a/src/email/message/template/command/save.rs b/src/email/message/template/command/save.rs index 491edb4..37717b1 100644 --- a/src/email/message/template/command/save.rs +++ b/src/email/message/template/command/save.rs @@ -92,7 +92,7 @@ impl TemplateSaveCommand { io::stdin() .lock() .lines() - .filter_map(Result::ok) + .map_while(Result::ok) .collect::>() .join("\n") }; diff --git a/src/email/message/template/command/send.rs b/src/email/message/template/command/send.rs index 4654f2b..3b798eb 100644 --- a/src/email/message/template/command/send.rs +++ b/src/email/message/template/command/send.rs @@ -113,7 +113,7 @@ impl TemplateSendCommand { io::stdin() .lock() .lines() - .filter_map(Result::ok) + .map_while(Result::ok) .collect::>() .join("\n") };