Patch for DOSLFN 0.40e (Users)
> Apparently there's another bug (regression) discovered by Juan on
> comp.os.msdos.djgpp
> (re: DJGPP 2.04 w/ MS-DOS 6.22 + DOSLFN 0.40e):
>
> > I have found my old FreeDOS CD and installed DOSLFN 0.40c.
> > With this driver everthing works on MSDOS. Stepping into
> > the filelength() code shows that the 0.40e version does
> > not set the CF when it returns from 0x71A6 call while 0.40c
> > does so that it jumps directly into the 0x4201 code instead
> > of returning an EOVERFLOW.
I don't think this is a bug in DOSLFN, it is almost certainly a bug in DPGJJ - as usual.
Why? Because it's known and old hat that DOSLFN does NOT support function 71A6h:
DOSLFN.ASM itself:
verteiler: DVT 39h,lfn_mkdir ;w DS:DX
DVT 3Ah,lfn_rmdir ;w DS:DX
DVT 3Bh,lfn_chdir ;r DS:DX
DVT 41h,lfn_unlink ;w DS:DX CX SI
DVT 43h,lfn_attr ;? DS:DX BL CX SI DI
DVT 47h,lfn_pwd ;r DS:SI DL
DVT 4Eh,lfn_ffirst ;r DS:DX ES:DI CX SI
DVT 4Fh,lfn_fnext ;r BX ES:DI SI
DVT 56h,lfn_move ;w DS:DX ES:DI
DVT 60h,lfn_name ;r DS:SI ES:DI CX
DVT 6Ch,lfn_creat ;? DS:SI BX CX DX DI
DVT 0A0h,lfn_volinfo ;- DS:DX ES:DI BX CX DX
DVT 0A1h,lfn_fclose ;r BX
;--- entry 0A6h ( get file info by handle ) is missing
DVT 0A7h,lfn_timeconv;- DS:SI BX CX DX
DVT 0A8h,lfn_genshort;- DS:SI ES:DI DX
DVT 0AAh,lfn_subst ;- DS:DX BH(=0,1,2) BL(=LW)
db 0
or DOSLFN.TXT
THAT WILL PROBABLY NEVER WORK:
* functions around SUBST, AL=AAh ("query subst" is available)
* file creation from server, AL=A9h
* retrieve handle information, AL=A6h
* reset drive, AL=0Dh
That's why calling this function must be done very carefully. See HX, DKRNL32, file GETFINFO.ASM:
mov ebx, handle
mov edx, pFileInfo
mov ax,71A6h ;this is NOT implemented in DOSLFN!!!
stc
int 21h
jnc exit
cmp ax,7100h
jnz error
And my suspicion is that DGVJJ does NOT call this function "very carefully".
---
MS-DOS forever!
Complete thread:
- Patch for DOSLFN 0.40e - Japheth, 03.09.2011, 08:18 (Users)
- Patch for DOSLFN 0.40e - ecm, 03.09.2011, 15:24
- Patch for DOSLFN 0.40e - Rugxulo, 03.09.2011, 21:53
- Patch for DOSLFN 0.40e - Rugxulo, 03.09.2011, 23:31
- Patch for DOSLFN 0.40e - Japheth, 04.09.2011, 03:14
- Patch for DOSLFN 0.40e | INT $21 / AX=$71A6 (GFIBH) - DOS386, 04.09.2011, 12:52
- Patch for DOSLFN 0.40e | INT $21 / AX=$71A6 (GFIBH) - Laaca, 11.09.2011, 22:19
- Patch for DOSLFN 0.40e | INT $21 / AX=$71A6 (GFIBH) - RayeR, 12.09.2011, 13:51
- Patch for DOSLFN 0.40e (Japheth) - Rugxulo, 17.09.2011, 20:02
- Patch for DOSLFN 0.40e (Japheth) - RayeR, 19.09.2011, 15:18
- Patch for DOSLFN 0.40e (Japheth) - tikbalang, 19.09.2011, 16:08
- Patch for DOSLFN 0.40e (Japheth) - tikbalang, 19.09.2011, 16:26
- Patch for DOSLFN 0.40e (Japheth) - Rugxulo, 19.09.2011, 23:22
- Patch for DOSLFN 0.40e (Japheth) - tikbalang, 19.09.2011, 16:26
- Patch for DOSLFN 0.40e (Japheth) - tikbalang, 19.09.2011, 16:08
- Patch for DOSLFN 0.40e (Japheth) - RayeR, 19.09.2011, 15:18
- Patch for DOSLFN 0.40e (Japheth) - Rugxulo, 17.09.2011, 20:02
- Patch for DOSLFN 0.40e | INT $21 / AX=$71A6 (GFIBH) - RayeR, 12.09.2011, 13:51
- Patch for DOSLFN 0.40e | INT $21 / AX=$71A6 (GFIBH) - Laaca, 11.09.2011, 22:19
- Patch for DGJPP 2.04 - DOS386, 06.09.2011, 06:23
- Patch for DOSLFN 0.40e | INT $21 / AX=$71A6 (GFIBH) - DOS386, 04.09.2011, 12:52
- Patch for DOSLFN 0.40e - Japheth, 04.09.2011, 03:14
- Patch for DOSLFN 0.40e - Rugxulo, 03.09.2011, 23:31