if (fd == -1) fd = open("/dev/random", O_RDONLY);
if (fd == -1) xerror(NO, YES, YES, "random source is required (tried %s)", src);
-_again: rd = read(fd, ubuf, sz);
+_again: rd = xread(fd, ubuf, sz);
if (rd < sz && rd != NOSIZE) {
ubuf += rd;
sz -= rd;
if (offset) {
if (lseek(fd, offset, SEEK_SET) == -1)
- xerror(YES, NO, NO, "%s: seek failed", foutname);
+ xerror(ignore_seek_errors, NO, NO, "%s: seek failed", foutname);
}
if (ctr_mode == TFC_MODE_PLAIN) memset(srcblk, 0, sizeof(srcblk));
if (ctr_mode != TFC_MODE_PLAIN) tfc_getrandom(srcblk, lblock);
if (error_action == TFC_ERRACT_SYNC) wrpos = tfc_fdgetpos(fd);
-_wagain: lio = write(fd, pblk, lrem);
+_wagain: lio = xwrite(fd, pblk, lrem);
if (lio == NOSIZE) {
if (errno != EIO && catch_all_errors != YES)
xerror(NO, NO, YES, "%s", foutname);