=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cdio/rip.c,v retrieving revision 1.16 retrieving revision 1.17 diff -c -r1.16 -r1.17 *** src/usr.bin/cdio/rip.c 2015/08/20 22:32:41 1.16 --- src/usr.bin/cdio/rip.c 2017/12/23 20:04:23 1.17 *************** *** 1,4 **** ! /* $OpenBSD: rip.c,v 1.16 2015/08/20 22:32:41 deraadt Exp $ */ /* * Copyright (c) 2007 Alexey Vatchenko --- 1,4 ---- ! /* $OpenBSD: rip.c,v 1.17 2017/12/23 20:04:23 cheloha Exp $ */ /* * Copyright (c) 2007 Alexey Vatchenko *************** *** 23,28 **** --- 23,29 ---- #include #include #include + #include #include #include *************** *** 37,42 **** --- 38,44 ---- #include #include #include + #include #include #include "extern.h" *************** *** 362,368 **** int read_track(struct track *ti) { ! struct timeval tv, otv, atv; u_int32_t i, blksize, n_sec; u_char *sec; int error; --- 364,370 ---- int read_track(struct track *ti) { ! struct timespec ts, ots, ats; u_int32_t i, blksize, n_sec; u_char *sec; int error; *************** *** 373,390 **** if (sec == NULL) return (-1); ! timerclear(&otv); ! atv.tv_sec = 1; ! atv.tv_usec = 0; for (i = 0; i < n_sec; ) { ! gettimeofday(&tv, NULL); ! if (timercmp(&tv, &otv, >)) { fprintf(stderr, "\rtrack %u '%c' %08u/%08u %3u%%", ti->track, (ti->isaudio) ? 'a' : 'd', i, n_sec, 100 * i / n_sec); ! timeradd(&tv, &atv, &otv); } error = read_data_sector(i + ti->start_lba, sec, blksize); --- 375,392 ---- if (sec == NULL) return (-1); ! timespecclear(&ots); ! ats.tv_sec = 1; ! ats.tv_nsec = 0; for (i = 0; i < n_sec; ) { ! clock_gettime(CLOCK_MONOTONIC, &ts); ! if (timespeccmp(&ts, &ots, >)) { fprintf(stderr, "\rtrack %u '%c' %08u/%08u %3u%%", ti->track, (ti->isaudio) ? 'a' : 'd', i, n_sec, 100 * i / n_sec); ! timespecadd(&ts, &ats, &ots); } error = read_data_sector(i + ti->start_lba, sec, blksize);