Re: DOS LFN support
- Posted by Juergen Luethje <jluethje at gmx.de> Oct 26, 2002
- 481 views
jbrown105 wrote: > On 0, Robert Craig <rds at RapidEuphoria.com> wrote: >> Juergen Luethje writes: <snip> >>> Together with J.Brown, I began to work at a cross-platform library for >>> directory and file operations some time ago. Unfortunately, it doesn't >>> make much progress at the moment, because I have little time, but it >>> shouldn't be too much work to extract the functions related to long >>> filenames, and rearrange them somewhat. > > Uhh ... didnt dos.e already do this? I would appreciate it very much, if in *all* Euphoria routines that deal with filenames, ex.exe uses long filenames, if they are supported by the OS. The code needed for this purpose is *not* contained in dos.e. Most of the code in dos.e add new functions to Euphoria (like mkdir(), rmdir(), copy(), ...) rather than improving existing functions. (I assume Rob knows dos.e well. If dos.e would solve the problem, Rob would already have moved it's code into the interpreter, I suppose.) And dos.e is buggy. Just an example: When a DOS program deals with long filenames, the most basic thing is to detect, wether the OS on which the program currently is running, does support long filenames or doesn't do so. Do detect this, dos.e uses "surrogate markers", which are not too reliable. Using this method, a program wouldn't have long filename support on Win XP.To look wether LFN are supported by the OS, my code calls the appropriate DOS interrupt function instead, which is much more reliable. > In fact, Juergen, didnt you get most of the dos code FROM dos.e? No. When I saw some bugs in dos.e, I reported them to this list. Then Derek wrote something like: "Interesting, but who uses DOS nowadays?". That was how I got the idea, not just to correct dos.e, but to create a cross-platform library for file and directory operations. You know that, of course. So the first thing I got from dos.e -- and from Derek
-- was a (hopefully) good idea. Then I got more ideas from dos.e, but I already had detected, that the code wasn't reliable. I found a very good documentation on the net about DOS and LFN [1]. But mainly I used Ralph Brown's interrupt list, what to the best of my knowledge is the "gold standard" is this field. (There are situations, were I like "wearing a belt *and* braces"
> Not to say that our lib isn't useful (personally I think it should be > part of the standard includes, I also think so. Well, we'll cross that bridge when we come to it.
> but then again thats just my opinion) but that wouldnt it be easier > to get dos.e from the archives than to extract the DOS-only code from > file2.e? (I wouldn't know, I've mostly done the Unix-only part of the > programming on it.) I'm already finished extracting the DOS code related to long filenames from file2.e. I also made some tests on my neighbour's PC (Win 2000). > About file2.e: I'm working on some more Linux improvements, I'll give > Juergen a copy in a few days perhaps. <snip> You're welcome! Just please be patient with me, because my lack of time. > jbrown Regards, Juergen -------- [1] http://lab1.de/prod/lfn/lfn.htm (sorry, it's in German only)