diff -urN coreutils-8.11-orig/man/dd.1 coreutils-8.11/man/dd.1 --- coreutils-8.11-orig/man/dd.1 2011-04-14 04:25:09 +0900 +++ coreutils-8.11/man/dd.1 2011-04-15 21:18:22 +0900 @@ -49,8 +49,8 @@ skip=BLOCKS skip BLOCKS ibs\-sized blocks at start of input .TP -status=noxfer -suppress transfer statistics +status=xfer +display transfer statistics when finished .PP BLOCKS and BYTES may be followed by the following multiplicative suffixes: c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M diff -urN coreutils-8.11-orig/src/dd.c coreutils-8.11/src/dd.c --- coreutils-8.11-orig/src/dd.c 2011-03-26 21:52:57 +0900 +++ coreutils-8.11/src/dd.c 2011-04-15 21:18:22 +0900 @@ -126,6 +126,7 @@ /* Status bit masks. */ enum { + STATUS_XFER = 0x80000000, STATUS_NOXFER = 01 }; @@ -327,6 +328,7 @@ /* Status, for status="...". */ static struct symbol_value const statuses[] = { + {"xfer", STATUS_XFER}, {"noxfer", STATUS_NOXFER}, {"", 0} }; @@ -495,7 +497,7 @@ oflag=FLAGS write as per the comma separated symbol list\n\ seek=BLOCKS skip BLOCKS obs-sized blocks at start of output\n\ skip=BLOCKS skip BLOCKS ibs-sized blocks at start of input\n\ - status=noxfer suppress transfer statistics\n\ + status=xfer display transfer statistics when finished\n\ "), stdout); fputs (_("\ \n\ @@ -571,7 +573,7 @@ Sending a %s signal to a running `dd' process makes it\n\ print I/O statistics to standard error and then resume copying.\n\ \n\ - $ dd if=/dev/zero of=/dev/null& pid=$!\n\ + $ dd if=/dev/zero of=/dev/null status=xfer& pid=$!\n\ $ kill -%s $pid; sleep 1; kill $pid\n\ 18335302+0 records in\n\ 18335302+0 records out\n\ @@ -633,7 +635,7 @@ select_plural (r_truncate)), r_truncate); - if (status_flags & STATUS_NOXFER) + if (!(status_flags & STATUS_XFER)) return; /* Use integer arithmetic to compute the transfer rate,