From 3c3af72d9ad22f7b6483551290d916dacf553e3c Mon Sep 17 00:00:00 2001 From: Tyler Date: Thu, 22 Apr 2021 14:14:32 -0700 Subject: [PATCH] Implements noerror (ignores read errors) --- src/uu/dd/src/dd.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/uu/dd/src/dd.rs b/src/uu/dd/src/dd.rs index 51f82c0f6..50c66a639 100644 --- a/src/uu/dd/src/dd.rs +++ b/src/uu/dd/src/dd.rs @@ -345,14 +345,20 @@ fn dd(mut i: Input, mut o: Output) -> Result<(usize, us let mut buf = vec![DEFAULT_FILL_BYTE; o.obs]; // Read - let r_len = match i.fill_n(&mut buf, o.obs)? { - SrcStat::Read(len) => + let r_len = match i.fill_n(&mut buf, o.obs) { + Ok(SrcStat::Read(len)) => { bytes_in += len; len }, - SrcStat::EOF => + Ok(SrcStat::EOF) => break, + Err(e) => + if !i.cf.noerror { + return Err(e); + } else { + continue + }, }; // Write