diff options
Diffstat (limited to 'src/dd.c')
-rw-r--r-- | src/dd.c | 14 |
1 files changed, 11 insertions, 3 deletions
@@ -135,7 +135,10 @@ enum /* Status bit masks. */ enum { - STATUS_NOXFER = 01 + STATUS_NOXFER = 01, + STATUS_NOCOUNTS = 02, + STATUS_LAST = STATUS_NOCOUNTS, + STATUS_NONE = STATUS_LAST | (STATUS_LAST - 1) }; /* The name of the input file, or NULL for the standard input. */ @@ -370,6 +373,7 @@ static struct symbol_value const flags[] = static struct symbol_value const statuses[] = { {"noxfer", STATUS_NOXFER}, + {"none", STATUS_NONE}, {"", 0} }; @@ -536,7 +540,8 @@ Copy a file, converting and formatting according to the operands.\n\ oflag=FLAGS write as per the comma separated symbol list\n\ seek=N skip N obs-sized blocks at start of output\n\ skip=N skip N ibs-sized blocks at start of input\n\ - status=noxfer suppress transfer statistics\n\ + status=WHICH WHICH info to suppress outputting to stderr;\n\ + 'noxfer' suppresses transfer stats, 'none' suppresses all\n\ "), stdout); fputs (_("\ \n\ @@ -664,7 +669,6 @@ multiple_bits_set (int i) static void print_stats (void) { - xtime_t now = gethrxtime (); char hbuf[LONGEST_HUMAN_READABLE + 1]; int human_opts = (human_autoscale | human_round_to_nearest @@ -672,6 +676,9 @@ print_stats (void) double delta_s; char const *bytes_per_second; + if ((status_flags & STATUS_NONE) == STATUS_NONE) + return; + fprintf (stderr, _("%"PRIuMAX"+%"PRIuMAX" records in\n" "%"PRIuMAX"+%"PRIuMAX" records out\n"), @@ -697,6 +704,7 @@ print_stats (void) w_bytes, human_readable (w_bytes, hbuf, human_opts, 1, 1)); + xtime_t now = gethrxtime (); if (start_time < now) { double XTIME_PRECISIONe0 = XTIME_PRECISION; |