X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=libcitadel%2Flib%2Furlhandling.c;fp=libcitadel%2Flib%2Furlhandling.c;h=49878afda5ccd0d5180c1ec7060cd25d7a0d6545;hb=52d3843079a4f05c60a19559ab0131a4304871ff;hp=131cafa6ec4efed449a330320a661b8ea4baf7d6;hpb=f4cf677205c5bfe304a1ba5ca79066adfadcc1f3;p=citadel.git diff --git a/libcitadel/lib/urlhandling.c b/libcitadel/lib/urlhandling.c index 131cafa6e..49878afda 100644 --- a/libcitadel/lib/urlhandling.c +++ b/libcitadel/lib/urlhandling.c @@ -53,12 +53,12 @@ int ParseURL(ParsedURL **Url, StrBuf *UrlStr, unsigned short DefaultPort) */ url->URL = NewStrBufDup(UrlStr); url->Host = pch = ChrPtr(url->URL); - url->LocalPart = strchr(pch, '/'); + pEndHost = url->LocalPart = strchr(pch, '/'); if (url->LocalPart != NULL) { if ((*(url->LocalPart + 1) == '/') && (*(url->LocalPart - 1) == ':')) { /* TODO: find default port for this protocol... */ url->Host = url->LocalPart + 2; - url->LocalPart = strchr(url->Host, '/'); + pEndHost = url->LocalPart = strchr(url->Host, '/'); if (url->LocalPart != NULL) { StrBufPeek(url->URL, url->LocalPart, 0, '\0'); @@ -67,10 +67,10 @@ int ParseURL(ParsedURL **Url, StrBuf *UrlStr, unsigned short DefaultPort) } } if (url->LocalPart == NULL) { - url->LocalPart = pch + StrLength(url->URL); + pEndHost = url->LocalPart = ChrPtr(url->URL) + StrLength(url->URL); } - pCredEnd = strchr(pch, '@'); + pCredEnd = strrchr(ChrPtr(url->URL), '@'); if (pCredEnd >= url->LocalPart) pCredEnd = NULL; if (pCredEnd != NULL)