Hi!

- clarification for Luch's patch.

--- Begin Message ---
diff -ruNp old/kernel/inthndlr.c new/kernel/inthndlr.c
--- old/kernel/inthndlr.c       2004-07-25 02:53:58.000000000 +0000
+++ new/kernel/inthndlr.c       2004-07-25 16:54:58.000000000 +0000
@@ -1232,7 +1232,14 @@ dispatch:
         if (lr.DL < lastdrive)
         {
           struct cds FAR *cdsp = CDSp + lr.DL;
-          if (cdsp->cdsDpb)    /* letter of physical drive?    */
+          /* NOTE: Lucho founds, that in MS-DOS INT21/5F07 and 5F08 works
+             only for CDS entries, where _offset_ in DPB pointer is not
+             zero (somewhat related to secondary drive letters of block
+             drives). Without such check in FreeDOS, FORMAT utilities
+             break RAM drives. Meaning of this patch, what it affects
+             and why - all completely unclear. --avb
+          */
+          if (FP_OFF(cdsp->cdsDpb)) /* letter of physical drive? */
           {
             cdsp->cdsFlags &= ~CDSPHYSDRV;
             if (lr.AL == 7)

--- End Message ---

Reply via email to