mirror of https://github.com/FDOS/kernel.git
From Lucho: move the lock/unlock simulation of success before the device
GENIOCTL check so that it applies to any device. git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@797 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
parent
0d6d0b8523
commit
0f56cb2b3b
|
@ -268,6 +268,11 @@ COUNT DosDevIOctl(lregs * r)
|
|||
{
|
||||
return DE_INVLDDRV;
|
||||
}
|
||||
if (r->AL == 0x0D && (r->CX & ~(0x486B-0x084A)) == 0x084A)
|
||||
{ /* 084A/484A, 084B/484B, 086A/486A, 086B/486B */
|
||||
r->AX = 0; /* (lock/unlock logical/physical volume) */
|
||||
break; /* simulate success for MS-DOS 7+ SCANDISK etc. --LG */
|
||||
}
|
||||
if (((r->AL == 0x04) && !(dpbp->dpb_device->dh_attr & ATTR_IOCTL))
|
||||
|| ((r->AL == 0x05) && !(dpbp->dpb_device->dh_attr & ATTR_IOCTL))
|
||||
|| ((r->AL == 0x11)
|
||||
|
@ -277,11 +282,6 @@ COUNT DosDevIOctl(lregs * r)
|
|||
{
|
||||
return DE_INVLDFUNC;
|
||||
}
|
||||
if (r->AL == 0x0D && (r->CX & ~(0x486B-0x084A)) == 0x084A)
|
||||
{ /* 084A/484A, 084B/484B, 086A/486A, 086B/486B */
|
||||
r->AX = 0; /* (lock/unlock logical/physical volume) */
|
||||
break; /* simulate success for MS-DOS 7+ SCANDISK etc. --LG */
|
||||
}
|
||||
|
||||
CharReqHdr.r_command = nMode;
|
||||
execrh((request FAR *) & CharReqHdr, dpbp->dpb_device);
|
||||
|
|
Loading…
Reference in New Issue