Mail Archives: djgpp-workers/1998/03/17/07:10:00
I hope it's alright if I only mail the list.
> > > > > I think the limitation is not 24 slashes, it's the length of the path
> > > > > name. Anything longer than 64 characters should make DOS barf.
> >
> > Sorry, I meant
> > "C:/1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25".
> > This is 58 (or 59 including '\0' at the end) characters long.
Uuumh... I can't count. It's 68 long.
> Just to make things a bit more interesting, NetWare (at least 3.x)
> has its own ideas about how deep directories may nest. The default
> level is, IIRC, something between 6 and 10, so not quite a lot. This
> can lead to funny bugs where you cannot untar to a networked drive,
> but to a local one. So, checking for which kind of error occurs is
> worth it.
For the following discussion, the error conditions that I've tried is
three: full disk, too deep directory nesting and already exist.
Well I tried looking at the error code in the registers from the
__dpmi_int(21,39) call. The only error code I can get is 5.
According to (what's his name, now)'s interrupt list INT21/39 only
gives 3 or 5 as error codes. And from what they mean, I think 3 is
when you try to create the directory /a/b when /a doesn't exist.
I've also tried calling INT21/59 (Get Extended Error or somthing like
that) and I always get the same information: (ah, bh, bl, ch) =
(5, 3, 3, 2), for all the errors.
Could you, Tommas Demmer, perhaps check to see if what error codes to
get from NetWare, in these three cases, if you have access to that?
I can send you my test program if you want. It's a hacked mkdir.c from
libc, with a main() function calling mkdir.
Now I'm not a DOS hacker so if somebody has any ideas how to get better
error codes, let's hear them.
If there aren't any then I can't see how else to know that the disk is
full, except calling statfs.
Dodo,
MartinS
- Raw text -