diff options
author | Søren Schmidt <sos@FreeBSD.org> | 2000-12-26 11:56:15 +0000 |
---|---|---|
committer | Søren Schmidt <sos@FreeBSD.org> | 2000-12-26 11:56:15 +0000 |
commit | e3b9882dc4b086146aa65f75b1b3cb37def8b82b (patch) | |
tree | e23498f3f0cc17e1a81410c22a6f062b421576ac /usr.sbin/burncd | |
parent | dec35f9164e50870e97bdc9990ac84fdc11bd61e (diff) | |
download | src-e3b9882dc4b086146aa65f75b1b3cb37def8b82b.tar.gz src-e3b9882dc4b086146aa65f75b1b3cb37def8b82b.zip |
Update to match the progress interface on blank command.
Notes
Notes:
svn path=/head/; revision=70362
Diffstat (limited to 'usr.sbin/burncd')
-rw-r--r-- | usr.sbin/burncd/burncd.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/usr.sbin/burncd/burncd.c b/usr.sbin/burncd/burncd.c index 660e28bc215b..e60c21a7571a 100644 --- a/usr.sbin/burncd/burncd.c +++ b/usr.sbin/burncd/burncd.c @@ -35,6 +35,7 @@ #include <err.h> #include <sysexits.h> #include <fcntl.h> +#include <sys/errno.h> #include <sys/ioctl.h> #include <sys/stat.h> #include <sys/cdio.h> @@ -121,10 +122,24 @@ main(int argc, char **argv) break; } if (!strcmp(argv[arg], "blank")) { + int error, percent; if (!quiet) - fprintf(stderr, "blanking CD, please wait..\n"); + fprintf(stderr, "blanking CD, please wait..\r"); if (ioctl(fd, CDRIOCBLANK) < 0) err(EX_IOERR, "ioctl(CDRIOCBLANK)"); + while (1) { + sleep(1); + error = ioctl(fd, CDRIOCGETPROGRESS, &percent); + if (percent > 0 && !quiet) + fprintf(stderr, + "blanking CD - %d %% done" + " \r", + percent); + if (error || percent == 100) + break; + } + if (!quiet) + printf("\n"); continue; } if (!strcmp(argv[arg], "audio") || !strcmp(argv[arg], "raw")) { |