Bruce Leban wrote:
If you change the semantics so that it either (1) it always always includes a trailing / or (2) it includes a trailing slash if the two paths have it in common, then you don't have the weirdness that in this case it returns a slash and in others it doesn't. I am slightly inclined to (1) at this point.
But then the common prefix of "/a/b" and "/a/c" would be "/a/", which would be very unexpected -- usually the dirname of a path is not considered to include a trailing slash. The special treatment of the root directory is no weirder than it is anywhere else. It's already special, since in unix it's the only case where a trailing slash is semantically significant. (To the kernel, at least -- a few command line utilities break this rule, but they're screwy.) -- Greg