diff --git a/Source/NSURL.m b/Source/NSURL.m index 6513da162..138842d37 100644 --- a/Source/NSURL.m +++ b/Source/NSURL.m @@ -1323,14 +1323,25 @@ static unsigned urlAlign; NSString *path = nil; unsigned int len = 3; - if (_baseURL != nil && baseData->path != 0) + if (_baseURL != nil) { - len += strlen(baseData->path); + if (baseData->path && *baseData->path) + { + len += strlen(baseData->path); + } + else if (baseData->hasNoPath == NO) + { + len++; + } } - if (myData->path != 0) + if (myData->path && *myData->path) { len += strlen(myData->path); } + else if (myData->hasNoPath == NO) + { + len++; + } if (len > 3) { char buf[len]; @@ -1505,14 +1516,25 @@ static unsigned urlAlign; NSString *path = nil; unsigned int len = 3; - if (_baseURL != nil && baseData->path != 0) + if (_baseURL != nil) { - len += strlen(baseData->path); + if (baseData->path && *baseData->path) + { + len += strlen(baseData->path); + } + else if (baseData->hasNoPath == NO) + { + len++; + } } - if (myData->path != 0) + if (myData->path && *myData->path) { len += strlen(myData->path); } + else if (myData->hasNoPath == NO) + { + len++; + } if (len > 3) { char buf[len];