addr_type field was ever not assigned, control field was assigned incorrectly

This commit is contained in:
Andrey A. Chernov 1996-02-01 17:27:01 +00:00
parent 3a08c9b183
commit 7e1ed1c4aa
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=13825

View File

@ -836,7 +836,8 @@ int wcdioctl (dev_t dev, int cmd, caddr_t addr, int flag, struct proc *p)
data.what.position.reladdr.lba = rellba;
}
data.header.audio_status = t->subchan.audio_status;
data.what.position.control = t->subchan.control & 0xf;
data.what.position.control = t->subchan.control >> 4;
data.what.position.addr_type = t->subchan.control & 0xf;
data.what.position.track_number = t->subchan.track;
data.what.position.index_number = t->subchan.indx;
@ -1032,7 +1033,7 @@ err: bzero (&t->toc, sizeof (t->toc));
if (t->info.volsize && t->toc.hdr.ending_track &&
(t->flags & F_MEDIA_CHANGED) && (t->flags & F_DEBUG)) {
printf ("wcd%d: ", t->lun);
if (t->toc.tab[0].control & 4)
if (t->toc.tab[0].addr_type & 4)
printf ("%ldMB ", t->info.volsize / 512);
else
printf ("%ld:%ld audio ", t->info.volsize/75/60,