diff --git a/Source/NSURL.m b/Source/NSURL.m index 46d064535..ab3741f9d 100644 --- a/Source/NSURL.m +++ b/Source/NSURL.m @@ -206,10 +206,18 @@ static char *buildURL(parsedURL *base, parsedURL *rel, BOOL standardize) int l; unsigned int len = 1; + if (NO == rel->hasNoPath) + { + len += 1; // trailing '/' to be added + } if (rel->scheme != 0) { len += strlen(rel->scheme) + 3; // scheme:// } + else if (YES == rel->isGeneric) + { + len += 2; // need '//' even if no scheme + } if (rel->user != 0) { len += strlen(rel->user) + 1; // user...@