Mail Archives: djgpp/2011/03/16/15:15:50
"Rod Pemberton" <do_not_have AT notreplytome DOT cmm> wrote in message
news:ilqu49$5v6$1 AT speranza DOT aioe DOT org...
>
> Here's
> my code, after my .sig, which is *tested* and *working*.
>
Let me clarify that...
Windows 95/98/SE/ME provides function 7303h for FAT32 drives. Looking at
RBIL, I'm not sure if this is available in real mode MS-DOS, or not. I.e.,
it may only be available in a Windows console, or "dosbox".
So, the code I posted works with DJGPP v2.03 and v2.04 in a Windows 98 SE
console widow, or "dosbox". The code *does not* work for me with MS-DOS
v7.10. DOSLFN upto and including v0.40e supports most of the 71xxh LFN
functions and none of the 73xxh FAT32 functions. So, DOSLFN doesn't help
any.
For a the working code in a console window, r.x.ax=7303h and CF=0. The CF
is: r.x.flags&1. For MS-DOS v7.10, my code returns r.x.ax=57h and CF=1.
RBIL says AL=0 on unsupported DOS versions. So, 7303h _should_ be
supported. If it works in a Windows 98 console, it works for real mode DOS
too. Sorry, I do not know what the issue is yet, i.e., programming error by
me, or an unsupported function in DOS. I could try Jason's code for you...
> FYI, dosmemput()
> copies more characters than passed. You can fix it. That could be
> considered an error or poor programming, for a few reasons: fixed size,
> too much, or not enough depending on the length of the path string.
I.e., use sizeof(), or a maximum path value of 261, whichever is smaller.
Rod Pemberton
- Raw text -