>>> On 2/10/2006 at 12:59:37 pm, in message <[EMAIL PROTECTED]>, "William A. Rowe, Jr." <[EMAIL PROTECTED]> wrote: > 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.
No, not really because NetWare doesn't have a good concept of "current working directory". IOW, if Apache starts from vol2:/apache2, calling getcwd() doesn't necessarily get you "vol2:/apache2" back. Given a path of "/foo", NetWare will assume "sys:/foo" which isn't necessarily correct. > 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/*'. > > Bil Bottom line is that neither of the results in the test seem valid on NetWare. Returning APR_SUCCESS with a path of "/" seems wrong because an assumption is being made about what "/" means. And returning APR_EINCOMPLETE with a path of "//" seems wrong because the path isn't incomplete, it is invalid. Brad