From ce8e972a10c9340312f21511de053242dad3f5db Mon Sep 17 00:00:00 2001 From: jcid Date: Tue, 14 Oct 2008 16:04:53 +0200 Subject: - Changed the google search URL (UTF-8 request) - Patch to recognize IPv6 numbers in the URL's authority part --- dillorc | 2 +- src/prefs.c | 2 +- src/url.c | 22 +++++++++++++++++----- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/dillorc b/dillorc index f8c42d83..05debda6 100644 --- a/dillorc +++ b/dillorc @@ -95,7 +95,7 @@ # "%s" is replaced with the search keywords separated by '+'. # search_url="http://search.lycos.com/?query=%s" # search_url="http://www.alltheweb.com/search?cat=web&query=%s" -#search_url="http://www.google.com/search?q=%s" +#search_url="http://www.google.com/search?ie=UTF-8&oe=UTF-8&q=%s" # Set the proxy information for http. # WARNING: dillo uses wget for ftp and https. To use a proxy for those diff --git a/src/prefs.c b/src/prefs.c index 48fe2a86..10e87d0c 100644 --- a/src/prefs.c +++ b/src/prefs.c @@ -42,7 +42,7 @@ #define D_VW_FONTNAME "DejaVu Sans" #define D_FW_FONTNAME "DejaVu Sans Mono" -#define D_SEARCH_URL "http://www.google.com/search?q=%s" +#define D_SEARCH_URL "http://www.google.com/search?ie=UTF-8&oe=UTF-8&q=%s" #define D_SAVE_DIR "/tmp/" #define DW_COLOR_DEFAULT_BGND 0xdcd1ba diff --git a/src/url.c b/src/url.c index d1c92a71..3fb9122a 100644 --- a/src/url.c +++ b/src/url.c @@ -102,11 +102,23 @@ const char *a_Url_hostname(const DilloUrl *u) DilloUrl *url = (DilloUrl *) u; if (!url->hostname && url->authority) { - if ((p = strchr(url->authority, ':'))) { - url->port = strtol(p + 1, NULL, 10); - url->hostname = dStrndup(url->authority,(uint_t)(p - url->authority)); - } else - url->hostname = url->authority; + if (url->authority[0] == '[' && (p = strchr(url->authority, ']'))) { + /* numeric ipv6 address, strip the brackets */ + url->hostname = dStrndup(url->authority + 1, + (uint_t)(p - url->authority - 1)); + if ((p = strchr(p, ':'))) { + url->port = strtol(p + 1, NULL, 10); + } + } else { + /* numeric ipv4 or hostname */ + if ((p = strchr(url->authority, ':'))) { + url->port = strtol(p + 1, NULL, 10); + url->hostname = dStrndup(url->authority, + (uint_t)(p - url->authority)); + } else { + url->hostname = url->authority; + } + } } return url->hostname; -- cgit v1.2.3