[git commit] dd: fixed partial count logic
Denys Vlasenko
vda.linux at googlemail.com
Wed Jan 10 10:04:09 UTC 2018
commit: https://git.busybox.net/busybox/commit/?id=2c876774a90ddb7478937ead096937f64e6bd7ec
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master
$ busybox dd if=/dev/zero of=/dev/loop0 bs=100M count=8; echo $?
8+0 records in
7+0 records out <=========== FIXED, was 7+1
805220352 bytes (767.9MB) copied, 0.464010 seconds, 1.6GB/s
1
function old new delta
write_and_stats 97 99 +2
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
coreutils/dd.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/coreutils/dd.c b/coreutils/dd.c
index 9d173cc..38b2a6a 100644
--- a/coreutils/dd.c
+++ b/coreutils/dd.c
@@ -202,8 +202,10 @@ static bool write_and_stats(const void *buf, size_t len, size_t obs,
G.out_full++;
return 0;
}
- if (n) /* > 0 */
+ if ((size_t)n == len) {
G.out_part++;
+ return 0;
+ }
return 1;
}
More information about the busybox-cvs
mailing list