From 20a6f739dc48afdf902eb92e0c8422ebcf0d47a4 Mon Sep 17 00:00:00 2001 From: James Bursa Date: Fri, 26 Dec 2003 16:21:46 +0000 Subject: [project @ 2003-12-26 16:21:46 by bursa] Rewrite get_host_from_url() to use uri library. svn path=/import/netsurf/; revision=444 --- utils/utils.c | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) (limited to 'utils') diff --git a/utils/utils.c b/utils/utils.c index 1487ac1c7..e8a8fbabc 100644 --- a/utils/utils.c +++ b/utils/utils.c @@ -217,27 +217,28 @@ fail: return 0; } - - -char *get_host_from_url (char *url) { - char *host = xcalloc(strlen(url)+10, sizeof(char)); - int i; - - i = strspn(url, "abcdefghijklmnopqrstuvwxyz"); - if (url[i] == ':') { - strcpy(host, url); - i += 3; - } +/** + * Extract the host name from a url. + * + * \param url an absolute URL + * \return a new string, or 0 in case of error + */ - for (; host[i] != 0 && host[i] != '/'; i++) - host[i] = tolower(host[i]); +char *get_host_from_url(char *url) +{ + char *host = 0; + uri_t *uri; - host[i] = '/'; - host[i+1] = 0; + uri = uri_alloc(url, strlen(url)); + if (!uri) + return 0; + if (uri->host) + host = xstrdup(uri->host); + uri_free(uri); - return host; + return host; } -- cgit v1.2.3