Hi! - bugfix for INT21/3301: MS-DOS clears high buts of DL.
--- Begin Message ---diff -ruNp old/kernel/inthndlr.c new/kernel/inthndlr.c --- old/kernel/inthndlr.c 2004-05-28 12:08:32.000000000 +0000 +++ new/kernel/inthndlr.c 2004-05-31 07:29:14.000000000 +0000 @@ -78,14 +78,14 @@ VOID ASMCFUNC int21_syscall(iregs FAR * case 0x33: switch (irp->AL) { - /* Get Ctrl-C flag */ - case 0x00: - irp->DL = break_ena; - break; - /* Set Ctrl-C flag */ case 0x01: break_ena = irp->DL & 1; + /* fall through */ + + /* Get Ctrl-C flag */ + case 0x00: + irp->DL = break_ena; break; case 0x02: /* andrew schulman: get/set extended control break */ @@ -1049,7 +1049,7 @@ dispatch: /* dta for this call is set on entry. This */ /* needs to be changed for new versions. */ rc = DosFindFirst(lr.CX, FP_DS_DX); - lr.AX = 0; + lr.AX = 0; /* ??? - avb */ goto short_check; /* Dos Find Next */ @@ -1057,7 +1057,7 @@ dispatch: /* dta for this call is set on entry. This */ /* needs to be changed for new versions. */ rc = DosFindNext(); - lr.AX = 0; + lr.AX = 0; /* ??? - avb */ goto short_check; /* case 0x50:
--- End Message ---
