Mail Archives: djgpp-workers/2001/08/05/18:10:36
> I'd say, let's test for a character device (it's a single Int 21h
> call), and then ignore the error. FWIW, I know that some (but not
> all) versions of Windows 9X also don't like "foo > prn", but allow
> "foo >>prn". Truncating a device doesn't make sense anyway, so we
> probably should avoid the _write call for devices altogether.
OK. More info here, and you are not going to like it :-P
I added a call to _get_dev_info for NUL - and it returns 0, it's not
a character device ... (don't you love Win 2k?)
Now, thinking about the other problems we had noticed, I then did a
set lfn=n ...
Now, the write of zero bytes to NUL works fine. And _get_dev_info
returns lots of bits (but I don't need them now...)
Touch a.a works with lfn=n but fails with lfn not set.
Conclusion - LFN support in W2K is breaking things (like truncate,
utime, get_dev_info). Handles opened with the LFN calls are not being
treated the same as those opened with the old DOS APIs.
I'll have to think about this...
- Raw text -