mirror of https://github.com/FDOS/kernel.git
Fix problem with loading multiple device drivers in one file: the
segment part in the header must be ignored. git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@708 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
parent
9fd4a67e1d
commit
6df5c0be61
|
@ -1389,15 +1389,7 @@ STATIC BOOL LoadDevice(BYTE * pLine, char FAR *top, COUNT mode)
|
||||||
(result = init_device(dhp, szBuf, mode, top)) == SUCCESS;
|
(result = init_device(dhp, szBuf, mode, top)) == SUCCESS;
|
||||||
dhp = next_dhp)
|
dhp = next_dhp)
|
||||||
{
|
{
|
||||||
next_dhp = dhp->dh_next;
|
next_dhp = MK_FP(FP_SEG(dhp), FP_OFF(dhp->dh_next));
|
||||||
if (FP_SEG(next_dhp) == 0xffff)
|
|
||||||
/* Does this ever occur with FP_OFF(next_dhp) != 0xffff ??? */
|
|
||||||
next_dhp = MK_FP(FP_SEG(dhp), FP_OFF(next_dhp));
|
|
||||||
#ifdef DEBUG
|
|
||||||
else if (FP_OFF(next_dhp) != 0xffff) /* end of internal chain */
|
|
||||||
printf("multisegmented device driver found, next %p\n", next_dhp);
|
|
||||||
/* give warning message */
|
|
||||||
#endif
|
|
||||||
/* Link in device driver and save LoL->nul_dev pointer to next */
|
/* Link in device driver and save LoL->nul_dev pointer to next */
|
||||||
dhp->dh_next = LoL->nul_dev.dh_next;
|
dhp->dh_next = LoL->nul_dev.dh_next;
|
||||||
LoL->nul_dev.dh_next = dhp;
|
LoL->nul_dev.dh_next = dhp;
|
||||||
|
|
Loading…
Reference in New Issue