/* count.c - Progress indicator from stdin to stdout * * Copyright 2002 Rob Landley USE_COUNT(NEWTOY(count, NULL, TOYFLAG_USR|TOYFLAG_BIN)) config COUNT bool "count" default y help usage: count Copy stdin to stdout, displaying simple progress indicator to stderr. */ #include "toys.h" void count_main(void) { uint64_t size = 0; int len; char buf[32]; for (;;) { len = xread(0, toybuf, sizeof(toybuf)); if (!len) break; size += len; xwrite(1, toybuf, len); xwrite(2, buf, sprintf(buf, "%"PRIu64" bytes\r", size)); } xwrite(2, "\n", 1); }