=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cdio/mmc.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- src/usr.bin/cdio/mmc.c 2006/06/06 23:22:28 1.10 +++ src/usr.bin/cdio/mmc.c 2006/06/15 23:49:58 1.11 @@ -1,4 +1,4 @@ -/* $OpenBSD: mmc.c,v 1.10 2006/06/06 23:22:28 deraadt Exp $ */ +/* $OpenBSD: mmc.c,v 1.11 2006/06/15 23:49:58 mjc Exp $ */ /* * Copyright (c) 2006 Michael Coulter @@ -175,7 +175,7 @@ scsireq_t scr; u_int end_lba, lba; u_int tmp; - int r,rfd; + int r; u_char nblk; nblk = 65535/tr->blklen; @@ -208,14 +208,13 @@ } else { end_lba = tr->sz / tr->blklen + lba; } - rfd = open(tr->file, O_RDONLY, 0640); if (tr->type == 'a') { - if (lseek(rfd, WAVHDRLEN, SEEK_SET) == -1) - err(1, "seek failed"); + if (lseek(tr->fd, WAVHDRLEN, SEEK_SET) == -1) + err(1, "seek failed for file %s", tr->file); } while ((lba < end_lba) && (nblk != 0)) { while (lba + nblk <= end_lba) { - read(rfd, databuf, nblk * tr->blklen); + read(tr->fd, databuf, nblk * tr->blklen); scr.cmd[8] = nblk; scr.datalen = nblk * tr->blklen; r = ioctl(fd, SCIOCCOMMAND, &scr); @@ -236,7 +235,7 @@ } nblk--; } - close(rfd); + close(tr->fd); return (0); }