Brad Nicholes wrote:
On 2/9/2006 at 5:50:29 pm, in message

<[EMAIL PROTECTED]>,
"William A. Rowe, Jr." <[EMAIL PROTECTED]> wrote:

Brad Nicholes wrote:

This doesn't quite fix it either.  For NetWare the returns are

     ABTS_INT_EQUAL(tc, APR_EINCOMPLETE, rv);
     ABTS_STR_EQUAL(tc, "/", root);

Ok I'm confused :)

APR_EINCOMPLETE is a fatal condition.  Is the path "//foo/bar"

valid?

If so, it's the result that's wrong.

Bill


So according to the logic that I am seeing for both Win32 and Unix,
NetWare is a cross between them.  NetWare does not understand UNC paths
so returning APR_EINCOMPLETE with "//" would be incorrect.  Also,
returning APR_SUCCESS with "/" would be incorrect as well since a
complete path would require a volume specifier such as "SYS:".  So I
believe that what it is returning now, APR_EINCOMPLETE with "/" is
correct on NetWare.

Am I missing something?

Yup.  On Win32/OS2, the path '/foo' root is 'c:/' path 'foo'.  The result
is complete because it was rooted (to currect drive).

With UNC paths, the path '//' is incomplete because we don't know the
machine and drive.

On Netware, is the path '/foo' sufficiently absolute?  I would think it is.
Of course you can use 'bar:bash/foo', and 'bar/bash' is not absolute, while
the 'bar:/foo' or ':bash/foo' syntaxes are probably incomplete.

The incomplete root result implies that the system can't figure out how to
break apart the path because some information is missing.  You can't, on any
UNC path, do a directory listing of '//foo/*'.  You can for '//foo/bar/*' and
you can for '/bash/*'.

Bill

Reply via email to